From 899244dc6ce9f834b3dc3372401c286e831beb67 Mon Sep 17 00:00:00 2001 From: echarp Date: Thu, 16 Jan 2020 20:20:28 +0100 Subject: [PATCH] Precompiled assets --- ...fest-1ecf1692b9cfa13c0271559a479b9688.json | 2 +- ...d2e69b47e1a280c8f63d50bd4db03d259588c89.js | 53451 ++++++++++++++++ ...69b47e1a280c8f63d50bd4db03d259588c89.js.gz | Bin 0 -> 460961 bytes ...53c8a003cf1e11bcb0b90297c01c87fde557e25.js | 103 + ...8a003cf1e11bcb0b90297c01c87fde557e25.js.gz | Bin 0 -> 1079 bytes 5 files changed, 53555 insertions(+), 1 deletion(-) create mode 100644 public/assets/application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js create mode 100644 public/assets/application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js.gz create mode 100644 public/assets/maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js create mode 100644 public/assets/maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js.gz diff --git a/public/assets/.sprockets-manifest-1ecf1692b9cfa13c0271559a479b9688.json b/public/assets/.sprockets-manifest-1ecf1692b9cfa13c0271559a479b9688.json index d51a2810..127058d9 100644 --- a/public/assets/.sprockets-manifest-1ecf1692b9cfa13c0271559a479b9688.json +++ b/public/assets/.sprockets-manifest-1ecf1692b9cfa13c0271559a479b9688.json @@ -1 +1 @@ -{"files":{"active_admin-436f1e127c3c5bfcfd081ea8dc17dc0f907b763b9d8967182739d9b3257848e9.js":{"logical_path":"active_admin.js","mtime":"2020-01-07T21:15:21+01:00","size":961932,"digest":"436f1e127c3c5bfcfd081ea8dc17dc0f907b763b9d8967182739d9b3257848e9","integrity":"sha256-Q28eEnw8W/z9CB6o3BfcD5B7djudiWcYJznZsyV4SOk="},"tinymce-e887823f61aacbb4b0879737509c9fc001e27976aed4315081c6bdcfed3ea84f.js":{"logical_path":"tinymce.js","mtime":"2020-01-07T21:15:21+01:00","size":1071380,"digest":"e887823f61aacbb4b0879737509c9fc001e27976aed4315081c6bdcfed3ea84f","integrity":"sha256-6IeCP2Gqy7Swh5c3UJyfwAHieXau1DFQgca9z+0+qE8="},"modernizr-34f958b565f8b625d03a9216afe69e6819d4d0bb5eb423e48c532aab27d533b0.js":{"logical_path":"modernizr.js","mtime":"2020-01-07T21:15:21+01:00","size":51364,"digest":"34f958b565f8b625d03a9216afe69e6819d4d0bb5eb423e48c532aab27d533b0","integrity":"sha256-NPlYtWX4tiXQOpIWr+aeaBnU0LtetCPkjFMqqyfVM7A="},"font-awesome/fa-brands-400-e9fdf947c39f06f1b5e63c58eea2f2f74850421b4e32047dacb9c7b75dd42a16.eot":{"logical_path":"font-awesome/fa-brands-400.eot","mtime":"2020-01-07T21:15:22+01:00","size":131930,"digest":"e9fdf947c39f06f1b5e63c58eea2f2f74850421b4e32047dacb9c7b75dd42a16","integrity":"sha256-6f35R8OfBvG15jxY7qLy90hQQhtOMgR9rLnHt13UKhY="},"font-awesome/fa-regular-400-c1465a6b8743622f759b08a6d5336e57eb6eabdba1b6393fba6d30d45382f3d2.eot":{"logical_path":"font-awesome/fa-regular-400.eot","mtime":"2020-01-07T21:15:22+01:00","size":34390,"digest":"c1465a6b8743622f759b08a6d5336e57eb6eabdba1b6393fba6d30d45382f3d2","integrity":"sha256-wUZaa4dDYi91mwim1TNuV+tuq9uhtjk/um0w1FOC89I="},"font-awesome/fa-solid-900-f29eef66eb3ad0e3574d8edb4b9e72a04692a0b2b92d99eb7c4b977611ddd4fe.eot":{"logical_path":"font-awesome/fa-solid-900.eot","mtime":"2020-01-07T21:15:22+01:00","size":194066,"digest":"f29eef66eb3ad0e3574d8edb4b9e72a04692a0b2b92d99eb7c4b977611ddd4fe","integrity":"sha256-8p7vZus60ONXTY7bS55yoEaSoLK5LZnrfEuXdhHd1P4="},"font-awesome/fa-brands-400-36b51fbe6b87587541b9173cd79c16c6b359ad22a172b922204f9aa87411acd9.svg":{"logical_path":"font-awesome/fa-brands-400.svg","mtime":"2020-01-07T21:15:22+01:00","size":708706,"digest":"36b51fbe6b87587541b9173cd79c16c6b359ad22a172b922204f9aa87411acd9","integrity":"sha256-NrUfvmuHWHVBuRc815wWxrNZrSKhcrkiIE+aqHQRrNk="},"font-awesome/fa-regular-400-7ab8a39f4c48b743bd6acbbf5ea4c7547efcb62ad966e9bef3e41996afc44fd4.svg":{"logical_path":"font-awesome/fa-regular-400.svg","mtime":"2020-01-07T21:15:22+01:00","size":144322,"digest":"7ab8a39f4c48b743bd6acbbf5ea4c7547efcb62ad966e9bef3e41996afc44fd4","integrity":"sha256-erijn0xIt0O9asu/XqTHVH78tirZZum+8+QZlq/ET9Q="},"font-awesome/fa-solid-900-eaf0f3d0cadad17eed1045cf68c30db7abffb4c8ef4ee9cb5f4026fdefc99a59.svg":{"logical_path":"font-awesome/fa-solid-900.svg","mtime":"2020-01-07T21:15:22+01:00","size":849145,"digest":"eaf0f3d0cadad17eed1045cf68c30db7abffb4c8ef4ee9cb5f4026fdefc99a59","integrity":"sha256-6vDz0Mra0X7tEEXPaMMNt6v/tMjvTunLX0Am/e/Jmlk="},"font-awesome/fa-brands-400-6b347ff01e588a2a6909ccd7f7f5866b27484391547e9df451ab9b4c27920c71.ttf":{"logical_path":"font-awesome/fa-brands-400.ttf","mtime":"2020-01-07T21:15:22+01:00","size":131624,"digest":"6b347ff01e588a2a6909ccd7f7f5866b27484391547e9df451ab9b4c27920c71","integrity":"sha256-azR/8B5YiippCczX9/WGaydIQ5FUfp30UaubTCeSDHE="},"font-awesome/fa-regular-400-6a335d1ce152f2b5b02bf82cc445b02d1abccd7f408a87113424b5f8fcbbfade.ttf":{"logical_path":"font-awesome/fa-regular-400.ttf","mtime":"2020-01-07T21:15:22+01:00","size":34092,"digest":"6a335d1ce152f2b5b02bf82cc445b02d1abccd7f408a87113424b5f8fcbbfade","integrity":"sha256-ajNdHOFS8rWwK/gsxEWwLRq8zX9AiocRNCS1+Py7+t4="},"font-awesome/fa-solid-900-0389b061db08d406704c9bb8819e09c3558ac956287b3e9da8e6645a79d528ea.ttf":{"logical_path":"font-awesome/fa-solid-900.ttf","mtime":"2020-01-07T21:15:22+01:00","size":193780,"digest":"0389b061db08d406704c9bb8819e09c3558ac956287b3e9da8e6645a79d528ea","integrity":"sha256-A4mwYdsI1AZwTJu4gZ4Jw1WKyVYoez6dqOZkWnnVKOo="},"font-awesome/fa-brands-400-1af816db9a686faa76bfbda779df959e6213de714a94b87aa7374a151f6f4900.woff":{"logical_path":"font-awesome/fa-brands-400.woff","mtime":"2020-01-07T21:15:22+01:00","size":89100,"digest":"1af816db9a686faa76bfbda779df959e6213de714a94b87aa7374a151f6f4900","integrity":"sha256-GvgW25pob6p2v72ned+VnmIT3nFKlLh6pzdKFR9vSQA="},"font-awesome/fa-regular-400-864c8f702a5e63198bb76ef0240b599cc065d4904c2afc5da6c8a29bbf0d6c64.woff":{"logical_path":"font-awesome/fa-regular-400.woff","mtime":"2020-01-07T21:15:22+01:00","size":16800,"digest":"864c8f702a5e63198bb76ef0240b599cc065d4904c2afc5da6c8a29bbf0d6c64","integrity":"sha256-hkyPcCpeYxmLt27wJAtZnMBl1JBMKvxdpsiim78NbGQ="},"font-awesome/fa-solid-900-3b60c77e0c81c1c9cdc9adb96ade6dbac7ef2b9402a316185855de7122e517db.woff":{"logical_path":"font-awesome/fa-solid-900.woff","mtime":"2020-01-07T21:15:22+01:00","size":98996,"digest":"3b60c77e0c81c1c9cdc9adb96ade6dbac7ef2b9402a316185855de7122e517db","integrity":"sha256-O2DHfgyBwcnNya25at5tusfvK5QCoxYYWFXecSLlF9s="},"font-awesome/fa-brands-400-8e4560c16c7970efa47680450b2cf239d4a482c056d308acea12bb9022906c8b.woff2":{"logical_path":"font-awesome/fa-brands-400.woff2","mtime":"2020-01-07T21:15:22+01:00","size":75936,"digest":"8e4560c16c7970efa47680450b2cf239d4a482c056d308acea12bb9022906c8b","integrity":"sha256-jkVgwWx5cO+kdoBFCyzyOdSkgsBW0wis6hK7kCKQbIs="},"font-awesome/fa-regular-400-86e496b536b26ba60cdb68df9dd9143b19a63b65e30e373b0321833aab1295d6.woff2":{"logical_path":"font-awesome/fa-regular-400.woff2","mtime":"2020-01-07T21:15:22+01:00","size":13576,"digest":"86e496b536b26ba60cdb68df9dd9143b19a63b65e30e373b0321833aab1295d6","integrity":"sha256-huSWtTaya6YM22jfndkUOxmmO2XjDjc7AyGDOqsSldY="},"font-awesome/fa-solid-900-787d76ad6deab67ccf8bac1b584260205e114f508fc5542b612e3f75d49a34e4.woff2":{"logical_path":"font-awesome/fa-solid-900.woff2","mtime":"2020-01-07T21:15:22+01:00","size":76084,"digest":"787d76ad6deab67ccf8bac1b584260205e114f508fc5542b612e3f75d49a34e4","integrity":"sha256-eH12rW3qtnzPi6wbWEJgIF4RT1CPxVQrYS4/ddSaNOQ="},"active_admin/print-9ca4108e628bcfc6e44c479857ca1db74875fcc9c7966d070fe80be7bb50c98b.css":{"logical_path":"active_admin/print.css","mtime":"2020-01-07T21:15:21+01:00","size":7086,"digest":"9ca4108e628bcfc6e44c479857ca1db74875fcc9c7966d070fe80be7bb50c98b","integrity":"sha256-nKQQjmKLz8bkTEeYV8odt0h1/MnHlm0HD+gL57tQyYs="},"active_admin-a66a98d30794a1e442949420b34b0ad3e6806a3a365d75e5c729b21980a37fb7.css":{"logical_path":"active_admin.css","mtime":"2019-12-25T17:18:50+01:00","size":107541,"digest":"a66a98d30794a1e442949420b34b0ad3e6806a3a365d75e5c729b21980a37fb7","integrity":"sha256-pmqY0weUoeRClJQgs0sK0+aAajo2XXXlxymyGYCjf7c="},"manifest-39627dc52fb1b4829654c355d77d306701477a489888ca0be3235350102e858f.js":{"logical_path":"manifest.js","mtime":"2020-01-07T21:15:21+01:00","size":6,"digest":"39627dc52fb1b4829654c355d77d306701477a489888ca0be3235350102e858f","integrity":"sha256-OWJ9xS+xtIKWVMNV130wZwFHekiYiMoL4yNTUBAuhY8="},"agendadescommuns-0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33.png":{"logical_path":"agendadescommuns.png","mtime":"2020-01-07T21:15:21+01:00","size":2760,"digest":"0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33","integrity":"sha256-ABe+9T9iYcs7+VLUt4DGQwc2lxSy4eLU659p39mGqzM="},"alert-762ace9479328243a44061346b64c4d6b997e963c68dfc6bddd9e4d241192906.png":{"logical_path":"alert.png","mtime":"2020-01-07T21:15:21+01:00","size":47876,"digest":"762ace9479328243a44061346b64c4d6b997e963c68dfc6bddd9e4d241192906","integrity":"sha256-dirOlHkygkOkQGE0a2TE1rmX6WPGjfxr3dnk0kEZKQY="},"baby_gnu_adl-463a81820aa2d4ffd8e7210dbce1a19ffcac67ef362aa7b092280c6f95c903fc.png":{"logical_path":"baby_gnu_adl.png","mtime":"2020-01-07T21:15:21+01:00","size":7411,"digest":"463a81820aa2d4ffd8e7210dbce1a19ffcac67ef362aa7b092280c6f95c903fc","integrity":"sha256-RjqBggqi1P/Y5yENvOGhn/ysZ+82KqewkigMb5XJA/w="},"baby_gnu_adl-97251005d3225cf1d58b8c497d6b7905dbc9560cc8acd50118fcce60d0a2679e.svg":{"logical_path":"baby_gnu_adl.svg","mtime":"2020-01-07T21:15:21+01:00","size":109635,"digest":"97251005d3225cf1d58b8c497d6b7905dbc9560cc8acd50118fcce60d0a2679e","integrity":"sha256-lyUQBdMiXPHVi4xJfWt5BdvJVgzIrNUBGPzOYNCiZ54="},"communs-0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33.png":{"logical_path":"communs.png","mtime":"2020-01-07T21:15:21+01:00","size":2760,"digest":"0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33","integrity":"sha256-ABe+9T9iYcs7+VLUt4DGQwc2lxSy4eLU659p39mGqzM="},"lef-small-93285d531af463f877951d63fe844a6e9600b782c2c81f78723b730072fa942e.png":{"logical_path":"lef-small.png","mtime":"2020-01-07T21:15:22+01:00","size":1059,"digest":"93285d531af463f877951d63fe844a6e9600b782c2c81f78723b730072fa942e","integrity":"sha256-kyhdUxr0Y/h3lR1j/oRKbpYAt4LCyB94cjtzAHL6lC4="},"lef-7e9152b909c78144ff44ca2254c06709333bef0b8d4985deb1361aba5c63c86d.png":{"logical_path":"lef.png","mtime":"2020-01-07T21:15:21+01:00","size":15783,"digest":"7e9152b909c78144ff44ca2254c06709333bef0b8d4985deb1361aba5c63c86d","integrity":"sha256-fpFSuQnHgUT/RMoiVMBnCTM77wuNSYXesTYaulxjyG0="},"linux-presentation-day-863b30562924505dd21841220861f83643d310e0b943a0e6a905462ddfac86f1.png":{"logical_path":"linux-presentation-day.png","mtime":"2020-01-07T21:15:21+01:00","size":9358,"digest":"863b30562924505dd21841220861f83643d310e0b943a0e6a905462ddfac86f1","integrity":"sha256-hjswVikkUF3SGEEiCGH4NkPTEOC5Q6DmqQVGLd+shvE="},"osm_logo-0e91a8acd0a92c1bf14204322322e57c65c2a7e318fec6907252fed929b7d6d3.svg":{"logical_path":"osm_logo.svg","mtime":"2020-01-07T21:15:21+01:00","size":89730,"digest":"0e91a8acd0a92c1bf14204322322e57c65c2a7e318fec6907252fed929b7d6d3","integrity":"sha256-DpGorNCpLBvxQgQyIyLlfGXCp+MY/saQclL+2Sm31tM="},"priorite-logiciel-libre-je-soutiens-april_2_m-6442e454e96ed45cc1ebc40673a6c50bd286b9c28ea6a8b58572e94f7d6459fc.png":{"logical_path":"priorite-logiciel-libre-je-soutiens-april_2_m.png","mtime":"2020-01-07T21:15:21+01:00","size":16952,"digest":"6442e454e96ed45cc1ebc40673a6c50bd286b9c28ea6a8b58572e94f7d6459fc","integrity":"sha256-ZELkVOlu1FzB68QGc6bFC9KGucKOpqi1hXLpT31kWfw="},"regions/CA-QC-70699e6a6e25c69040a3f1548b0afd829c4903ccca2760b6c10f49cc87d5d174.png":{"logical_path":"regions/CA-QC.png","mtime":"2020-01-07T21:15:22+01:00","size":469,"digest":"70699e6a6e25c69040a3f1548b0afd829c4903ccca2760b6c10f49cc87d5d174","integrity":"sha256-cGmeam4lxpBAo/FUiwr9gpxJA8zKJ2C2wQ9JzIfV0XQ="},"team-65c86021cf8a1154493664094aeafcbe3e5aa13dc675bb8ef34b220481db98fa.png":{"logical_path":"team.png","mtime":"2020-01-07T21:15:21+01:00","size":3586,"digest":"65c86021cf8a1154493664094aeafcbe3e5aa13dc675bb8ef34b220481db98fa","integrity":"sha256-ZchgIc+KEVRJNmQJSur8vj5aoT3GdbuO80siBIHbmPo="},"application-6b11136e0676d3ceeafb180819ad6aa9b3241e58a605d1d1d76883366d7c2111.js":{"logical_path":"application.js","mtime":"2019-12-22T12:30:30+01:00","size":2001537,"digest":"6b11136e0676d3ceeafb180819ad6aa9b3241e58a605d1d1d76883366d7c2111","integrity":"sha256-axETbgZ2087q+xgIGa1qqbMkHlimBdHR12iDNm18IRE="},"application-2787d6ed87f3f83fc6325ce89dc84f7e80e3148c1224e41f9cc9e51509747d00.css":{"logical_path":"application.css","mtime":"2019-12-22T12:30:30+01:00","size":232252,"digest":"2787d6ed87f3f83fc6325ce89dc84f7e80e3148c1224e41f9cc9e51509747d00","integrity":"sha256-J4fW7Yfz+D/GMlzonchPfoDjFIwSJOQfnMnlFQl0fQA="},"flags/4x3/ad-f67c4e5a3f709ead53c04d9ff35614e6c67517c3d3289170f7a317390f661497.svg":{"logical_path":"flags/4x3/ad.svg","mtime":"2020-01-07T21:15:22+01:00","size":33972,"digest":"f67c4e5a3f709ead53c04d9ff35614e6c67517c3d3289170f7a317390f661497","integrity":"sha256-9nxOWj9wnq1TwE2f81YU5sZ1F8PTKJFw96MXOQ9mFJc="},"flags/1x1/ad-a315836ec2c9dcc11ef9bfd8b18aa7ccfc2d31435cbf46a2c31930836076e09c.svg":{"logical_path":"flags/1x1/ad.svg","mtime":"2020-01-07T21:15:22+01:00","size":32745,"digest":"a315836ec2c9dcc11ef9bfd8b18aa7ccfc2d31435cbf46a2c31930836076e09c","integrity":"sha256-oxWDbsLJ3MEe+b/YsYqnzPwtMUNcv0aiwxkwg2B24Jw="},"flags/4x3/ae-7a3b3dc0f50b5310014cfbcc8200a5f1ce568127bf43452e40e8158e0cff2d2e.svg":{"logical_path":"flags/4x3/ae.svg","mtime":"2020-01-07T21:15:22+01:00","size":257,"digest":"7a3b3dc0f50b5310014cfbcc8200a5f1ce568127bf43452e40e8158e0cff2d2e","integrity":"sha256-ejs9wPULUxABTPvMggCl8c5WgSe/Q0UuQOgVjgz/LS4="},"flags/1x1/ae-bcdd9a4da09598785f3e31db4ff431e22687b2ead18209a3e615600655068cd5.svg":{"logical_path":"flags/1x1/ae.svg","mtime":"2020-01-07T21:15:22+01:00","size":265,"digest":"bcdd9a4da09598785f3e31db4ff431e22687b2ead18209a3e615600655068cd5","integrity":"sha256-vN2aTaCVmHhfPjHbT/Qx4iaHsurRggmj5hVgBlUGjNU="},"flags/4x3/af-01601b521fa86582e32c39eed8c88480afec1f801b6de929b52ed7e49da47260.svg":{"logical_path":"flags/4x3/af.svg","mtime":"2020-01-07T21:15:22+01:00","size":21279,"digest":"01601b521fa86582e32c39eed8c88480afec1f801b6de929b52ed7e49da47260","integrity":"sha256-AWAbUh+oZYLjLDnu2MiEgK/sH4AbbekptS7X5J2kcmA="},"flags/1x1/af-6332cf754a5e2866db631923e1f7cfc52a0a554d32b97bcf19f8263819e4ca7d.svg":{"logical_path":"flags/1x1/af.svg","mtime":"2020-01-07T21:15:22+01:00","size":21145,"digest":"6332cf754a5e2866db631923e1f7cfc52a0a554d32b97bcf19f8263819e4ca7d","integrity":"sha256-YzLPdUpeKGbbYxkj4ffPxSoKVU0yuXvPGfgmOBnkyn0="},"flags/4x3/ag-cb6952d821bac7855231c2cb4d1c44f7c730f6b3621518ab20f30d2b9afe604b.svg":{"logical_path":"flags/4x3/ag.svg","mtime":"2020-01-07T21:15:22+01:00","size":748,"digest":"cb6952d821bac7855231c2cb4d1c44f7c730f6b3621518ab20f30d2b9afe604b","integrity":"sha256-y2lS2CG6x4VSMcLLTRxE98cw9rNiFRirIPMNK5r+YEs="},"flags/1x1/ag-14f7d9978487aaf4446b55167e85a711c48a13ff07edac175c172969a38650c4.svg":{"logical_path":"flags/1x1/ag.svg","mtime":"2020-01-07T21:15:22+01:00","size":764,"digest":"14f7d9978487aaf4446b55167e85a711c48a13ff07edac175c172969a38650c4","integrity":"sha256-FPfZl4SHqvREa1UWfoWnEcSKE/8H7awXXBcpaaOGUMQ="},"flags/4x3/ai-f07c6cc0646fdfa441b9a506e1d46e8dce0d97b37222292e9c6733c995dc89bc.svg":{"logical_path":"flags/4x3/ai.svg","mtime":"2020-01-07T21:15:22+01:00","size":42208,"digest":"f07c6cc0646fdfa441b9a506e1d46e8dce0d97b37222292e9c6733c995dc89bc","integrity":"sha256-8HxswGRv36RBuaUG4dRujc4Nl7NyIikunGczyZXcibw="},"flags/1x1/ai-95099e544de29bcea3ba735de535823f2e19aeb4043e82dbc1d9862f9262b810.svg":{"logical_path":"flags/1x1/ai.svg","mtime":"2020-01-07T21:15:22+01:00","size":47975,"digest":"95099e544de29bcea3ba735de535823f2e19aeb4043e82dbc1d9862f9262b810","integrity":"sha256-lQmeVE3im86junNd5TWCPy4ZrrQEPoLbwdmGL5JiuBA="},"flags/4x3/al-9b997f2720de861e1b0ccec8ddf42a2890795ebf50817f9223e1ceba712c9b03.svg":{"logical_path":"flags/4x3/al.svg","mtime":"2020-01-07T21:15:22+01:00","size":3221,"digest":"9b997f2720de861e1b0ccec8ddf42a2890795ebf50817f9223e1ceba712c9b03","integrity":"sha256-m5l/JyDehh4bDM7I3fQqKJB5Xr9QgX+SI+HOunEsmwM="},"flags/1x1/al-94852d2711fc23abf3423534b9edb950a0c6aabf1d2d98bf2643f3c7dadfac09.svg":{"logical_path":"flags/1x1/al.svg","mtime":"2020-01-07T21:15:22+01:00","size":3228,"digest":"94852d2711fc23abf3423534b9edb950a0c6aabf1d2d98bf2643f3c7dadfac09","integrity":"sha256-lIUtJxH8I6vzQjU0ue25UKDGqr8dLZi/JkPzx9rfrAk="},"flags/4x3/am-85a199ec21d1af74a256335ead0c1e38592bb603d8da81feda4678945e9e00e6.svg":{"logical_path":"flags/4x3/am.svg","mtime":"2020-01-07T21:15:22+01:00","size":226,"digest":"85a199ec21d1af74a256335ead0c1e38592bb603d8da81feda4678945e9e00e6","integrity":"sha256-haGZ7CHRr3SiVjNerQweOFkrtgPY2oH+2kZ4lF6eAOY="},"flags/1x1/am-869391b014ac299924d30777d72a4aba430752177290a90a1fc3255a7ad79ee7.svg":{"logical_path":"flags/1x1/am.svg","mtime":"2020-01-07T21:15:22+01:00","size":234,"digest":"869391b014ac299924d30777d72a4aba430752177290a90a1fc3255a7ad79ee7","integrity":"sha256-hpORsBSsKZkk0wd31ypKukMHUhdykKkKH8MlWnrXnuc="},"flags/4x3/ao-29224a61bf632826d530cda55d87c2615884bd2c2c3a322036ed468e34d85c75.svg":{"logical_path":"flags/4x3/ao.svg","mtime":"2020-01-07T21:15:22+01:00","size":1608,"digest":"29224a61bf632826d530cda55d87c2615884bd2c2c3a322036ed468e34d85c75","integrity":"sha256-KSJKYb9jKCbVMM2lXYfCYViEvSwsOjIgNu1GjjTYXHU="},"flags/1x1/ao-048eacbc862fe1868cf0ec73457b70a8b49a598c80dea049856f0e1fd6fec83e.svg":{"logical_path":"flags/1x1/ao.svg","mtime":"2020-01-07T21:15:22+01:00","size":1608,"digest":"048eacbc862fe1868cf0ec73457b70a8b49a598c80dea049856f0e1fd6fec83e","integrity":"sha256-BI6svIYv4YaM8OxzRXtwqLSaWYyA3qBJhW8OH9b+yD4="},"flags/4x3/aq-b401a776d2f1a7944170114f0aeeceab5e1d962df3de7ed1eff47d96824b73fd.svg":{"logical_path":"flags/4x3/aq.svg","mtime":"2020-01-07T21:15:22+01:00","size":2974,"digest":"b401a776d2f1a7944170114f0aeeceab5e1d962df3de7ed1eff47d96824b73fd","integrity":"sha256-tAGndtLxp5RBcBFPCu7Oq14dli3z3n7R7/R9loJLc/0="},"flags/1x1/aq-a8d7ce9bfb860b6e2b58608b50bf2cafc5220c77f6d049ab7770891f64334531.svg":{"logical_path":"flags/1x1/aq.svg","mtime":"2020-01-07T21:15:22+01:00","size":3183,"digest":"a8d7ce9bfb860b6e2b58608b50bf2cafc5220c77f6d049ab7770891f64334531","integrity":"sha256-qNfOm/uGC24rWGCLUL8sr8UiDHf20Emrd3CJH2QzRTE="},"flags/4x3/ar-bf73475bb707100874dec538ce4b7e1b5afc4ed67dc50a8a800ee519e51cc826.svg":{"logical_path":"flags/4x3/ar.svg","mtime":"2020-01-07T21:15:22+01:00","size":3430,"digest":"bf73475bb707100874dec538ce4b7e1b5afc4ed67dc50a8a800ee519e51cc826","integrity":"sha256-v3NHW7cHEAh03sU4zkt+G1r8TtZ9xQqKgA7lGeUcyCY="},"flags/1x1/ar-fc6582cc6d3ef0782805d8497ee77ab2d836c53422e91007e48f81a4a9fa2e60.svg":{"logical_path":"flags/1x1/ar.svg","mtime":"2020-01-07T21:15:22+01:00","size":3503,"digest":"fc6582cc6d3ef0782805d8497ee77ab2d836c53422e91007e48f81a4a9fa2e60","integrity":"sha256-/GWCzG0+8HgoBdhJfud6stg2xTQi6RAH5I+BpKn6LmA="},"flags/4x3/as-79d395190345206ea03475b67b44638e1111562411504b60646483c9c0b0f7d1.svg":{"logical_path":"flags/4x3/as.svg","mtime":"2020-01-07T21:15:22+01:00","size":8098,"digest":"79d395190345206ea03475b67b44638e1111562411504b60646483c9c0b0f7d1","integrity":"sha256-edOVGQNFIG6gNHW2e0RjjhERViQRUEtgZGSDycCw99E="},"flags/1x1/as-04f0db77c5d8610a55c69508b226a7c338924f8cf7d6577d5d6590e85ee57183.svg":{"logical_path":"flags/1x1/as.svg","mtime":"2020-01-07T21:15:22+01:00","size":7845,"digest":"04f0db77c5d8610a55c69508b226a7c338924f8cf7d6577d5d6590e85ee57183","integrity":"sha256-BPDbd8XYYQpVxpUIsianwziST4z31ld9XWWQ6F7lcYM="},"flags/4x3/at-3d197de8f1f0096a2b0d440b6fc7d80821585a6637e646c05487a87718bf6b5f.svg":{"logical_path":"flags/4x3/at.svg","mtime":"2020-01-07T21:15:22+01:00","size":243,"digest":"3d197de8f1f0096a2b0d440b6fc7d80821585a6637e646c05487a87718bf6b5f","integrity":"sha256-PRl96PHwCWorDUQLb8fYCCFYWmY35kbAVIeodxi/a18="},"flags/1x1/at-ec4db9aeac793827ac7c8e40c072a76f7675010058cc8c8dfd3a86bb5acfa6b8.svg":{"logical_path":"flags/1x1/at.svg","mtime":"2020-01-07T21:15:22+01:00","size":245,"digest":"ec4db9aeac793827ac7c8e40c072a76f7675010058cc8c8dfd3a86bb5acfa6b8","integrity":"sha256-7E25rqx5OCesfI5AwHKnb3Z1AQBYzIyN/TqGu1rPprg="},"flags/4x3/au-126fa2500a315287a5f847f4d958bb929f11da9b39f35912cc440c0fcffb8b12.svg":{"logical_path":"flags/4x3/au.svg","mtime":"2020-01-07T21:15:22+01:00","size":1335,"digest":"126fa2500a315287a5f847f4d958bb929f11da9b39f35912cc440c0fcffb8b12","integrity":"sha256-Em+iUAoxUoel+Ef02Vi7kp8R2ps581kSzEQMD8/7ixI="},"flags/1x1/au-bf990dcc957c9f74eb908e8ffa733f1731277bf6ec8b7301a6ea1ed92b59cc4b.svg":{"logical_path":"flags/1x1/au.svg","mtime":"2020-01-07T21:15:22+01:00","size":1320,"digest":"bf990dcc957c9f74eb908e8ffa733f1731277bf6ec8b7301a6ea1ed92b59cc4b","integrity":"sha256-v5kNzJV8n3TrkI6P+nM/FzEne/bsi3MBpuoe2StZzEs="},"flags/4x3/aw-4524643452423e95f3b0dbe6216b059a9e52126b34c73ae4b3c17b682f893aa6.svg":{"logical_path":"flags/4x3/aw.svg","mtime":"2020-01-07T21:15:22+01:00","size":9948,"digest":"4524643452423e95f3b0dbe6216b059a9e52126b34c73ae4b3c17b682f893aa6","integrity":"sha256-RSRkNFJCPpXzsNvmIWsFmp5SEms0xzrks8F7aC+JOqY="},"flags/1x1/aw-f7002bceef55486a442bf6bf433be0c60d0b15b2aa548b81c524c67ccf0565a8.svg":{"logical_path":"flags/1x1/aw.svg","mtime":"2020-01-07T21:15:22+01:00","size":12088,"digest":"f7002bceef55486a442bf6bf433be0c60d0b15b2aa548b81c524c67ccf0565a8","integrity":"sha256-9wArzu9VSGpEK/a/Qzvgxg0LFbKqVIuBxSTGfM8FZag="},"flags/4x3/ax-c297e0eb654ca62e58f5eb3abb70df9f245e4919490f29bd0f1d49c4fe052d90.svg":{"logical_path":"flags/4x3/ax.svg","mtime":"2020-01-07T21:15:22+01:00","size":556,"digest":"c297e0eb654ca62e58f5eb3abb70df9f245e4919490f29bd0f1d49c4fe052d90","integrity":"sha256-wpfg62VMpi5Y9es6u3DfnyReSRlJDym9Dx1JxP4FLZA="},"flags/1x1/ax-a1245689ecbf321c0a9e556bba17f3c9f2aeb8b1f63d14fcb591d76a87f12880.svg":{"logical_path":"flags/1x1/ax.svg","mtime":"2020-01-07T21:15:22+01:00","size":544,"digest":"a1245689ecbf321c0a9e556bba17f3c9f2aeb8b1f63d14fcb591d76a87f12880","integrity":"sha256-oSRWiey/MhwKnlVruhfzyfKuuLH2PRT8tZHXaofxKIA="},"flags/4x3/az-132e68d5e0386d3b9fa05b4288a0fd66f1414e2bc7af6b9d437b6935a7dfa00c.svg":{"logical_path":"flags/4x3/az.svg","mtime":"2020-01-07T21:15:22+01:00","size":515,"digest":"132e68d5e0386d3b9fa05b4288a0fd66f1414e2bc7af6b9d437b6935a7dfa00c","integrity":"sha256-Ey5o1eA4bTufoFtCiKD9ZvFBTivHr2udQ3tpNaffoAw="},"flags/1x1/az-3990c0526b933bd650285d821f2b93e432a73ba709869549b8ef75b051d3bd2d.svg":{"logical_path":"flags/1x1/az.svg","mtime":"2020-01-07T21:15:22+01:00","size":501,"digest":"3990c0526b933bd650285d821f2b93e432a73ba709869549b8ef75b051d3bd2d","integrity":"sha256-OZDAUmuTO9ZQKF2CHyuT5DKnO6cJhpVJuO91sFHTvS0="},"flags/4x3/ba-89dd0c1600d94741de7d667a487310193a0c48c4cf1a5159c3bf9dd37d65d2b5.svg":{"logical_path":"flags/4x3/ba.svg","mtime":"2020-01-07T21:15:22+01:00","size":1306,"digest":"89dd0c1600d94741de7d667a487310193a0c48c4cf1a5159c3bf9dd37d65d2b5","integrity":"sha256-id0MFgDZR0HefWZ6SHMQGToMSMTPGlFZw7+d031l0rU="},"flags/1x1/ba-2dbe90eb12b937f4a9ae8db95760930a3e318f4ce5829ac05e292ead698bae5a.svg":{"logical_path":"flags/1x1/ba.svg","mtime":"2020-01-07T21:15:22+01:00","size":1247,"digest":"2dbe90eb12b937f4a9ae8db95760930a3e318f4ce5829ac05e292ead698bae5a","integrity":"sha256-Lb6Q6xK5N/Spro25V2CTCj4xj0zlgprAXikurWmLrlo="},"flags/4x3/bb-16f8249ff958bfbc18fb1f23a5282000347bffdb5769ac620966185b1dcb57f6.svg":{"logical_path":"flags/4x3/bb.svg","mtime":"2020-01-07T21:15:22+01:00","size":613,"digest":"16f8249ff958bfbc18fb1f23a5282000347bffdb5769ac620966185b1dcb57f6","integrity":"sha256-Fvgkn/lYv7wY+x8jpSggADR7/9tXaaxiCWYYWx3LV/Y="},"flags/1x1/bb-fae92d8426196ae24ffa561aca72613fae651a5e9c0bcda63ecc877add05b060.svg":{"logical_path":"flags/1x1/bb.svg","mtime":"2020-01-07T21:15:22+01:00","size":616,"digest":"fae92d8426196ae24ffa561aca72613fae651a5e9c0bcda63ecc877add05b060","integrity":"sha256-+ukthCYZauJP+lYaynJhP65lGl6cC82mPsyHet0FsGA="},"flags/4x3/bd-8dac0547e73ee25a04148a3f0fd026a90e56c23b7e92921565d4263050ba77a6.svg":{"logical_path":"flags/4x3/bd.svg","mtime":"2020-01-07T21:15:22+01:00","size":193,"digest":"8dac0547e73ee25a04148a3f0fd026a90e56c23b7e92921565d4263050ba77a6","integrity":"sha256-jawFR+c+4loEFIo/D9AmqQ5Wwjt+kpIVZdQmMFC6d6Y="},"flags/1x1/bd-ecc3c3e87d4cc59c8350f2b4d7dca8f5cf46bdb26319db0ee80b744482af50c1.svg":{"logical_path":"flags/1x1/bd.svg","mtime":"2020-01-07T21:15:22+01:00","size":195,"digest":"ecc3c3e87d4cc59c8350f2b4d7dca8f5cf46bdb26319db0ee80b744482af50c1","integrity":"sha256-7MPD6H1MxZyDUPK019yo9c9GvbJjGdsO6At0RIKvUME="},"flags/4x3/be-a180ca68521188017bb5367f19e503d9599d6cbecd61bf054e59a57f58e648ae.svg":{"logical_path":"flags/4x3/be.svg","mtime":"2020-01-07T21:15:22+01:00","size":293,"digest":"a180ca68521188017bb5367f19e503d9599d6cbecd61bf054e59a57f58e648ae","integrity":"sha256-oYDKaFIRiAF7tTZ/GeUD2VmdbL7NYb8FTlmlf1jmSK4="},"flags/1x1/be-c8d4194137bd01955285b329dfdf996490d16c3116a92ce2f322e354b6d7494e.svg":{"logical_path":"flags/1x1/be.svg","mtime":"2020-01-07T21:15:22+01:00","size":293,"digest":"c8d4194137bd01955285b329dfdf996490d16c3116a92ce2f322e354b6d7494e","integrity":"sha256-yNQZQTe9AZVShbMp39+ZZJDRbDEWqSzi8yLjVLbXSU4="},"flags/4x3/bf-6b214936ef89f19133d4a84e99cdf0cfdb99d6409f2f373f6d18694423013313.svg":{"logical_path":"flags/4x3/bf.svg","mtime":"2020-01-07T21:15:22+01:00","size":360,"digest":"6b214936ef89f19133d4a84e99cdf0cfdb99d6409f2f373f6d18694423013313","integrity":"sha256-ayFJNu+J8ZEz1KhOmc3wz9uZ1kCfLzc/bRhpRCMBMxM="},"flags/1x1/bf-04c7d61aa314adab5a41bd79d77aa780c10136bb6b8f4c62423e61e23e3851ee.svg":{"logical_path":"flags/1x1/bf.svg","mtime":"2020-01-07T21:15:22+01:00","size":386,"digest":"04c7d61aa314adab5a41bd79d77aa780c10136bb6b8f4c62423e61e23e3851ee","integrity":"sha256-BMfWGqMUrataQb1513qngMEBNrtrj0xiQj5h4j44Ue4="},"flags/4x3/bg-dd3985ba746942b0e65bc52a280cc4d28fb24fd2c7d9e22ac9afd2d75ee7bfc4.svg":{"logical_path":"flags/4x3/bg.svg","mtime":"2020-01-07T21:15:22+01:00","size":289,"digest":"dd3985ba746942b0e65bc52a280cc4d28fb24fd2c7d9e22ac9afd2d75ee7bfc4","integrity":"sha256-3TmFunRpQrDmW8UqKAzE0o+yT9LH2eIqya/S117nv8Q="},"flags/1x1/bg-f59294a736d5bdc0f102b58d70dbe45d02bd92df822820bf95336840f75a0746.svg":{"logical_path":"flags/1x1/bg.svg","mtime":"2020-01-07T21:15:22+01:00","size":297,"digest":"f59294a736d5bdc0f102b58d70dbe45d02bd92df822820bf95336840f75a0746","integrity":"sha256-9ZKUpzbVvcDxArWNcNvkXQK9kt+CKCC/lTNoQPdaB0Y="},"flags/4x3/bh-7c82c4a6ba963172c6c1b4423f39a0ebe9c999449cc7dd87018917943db4735c.svg":{"logical_path":"flags/4x3/bh.svg","mtime":"2020-01-07T21:15:22+01:00","size":546,"digest":"7c82c4a6ba963172c6c1b4423f39a0ebe9c999449cc7dd87018917943db4735c","integrity":"sha256-fILEprqWMXLGwbRCPzmg6+nJmUScx92HAYkXlD20c1w="},"flags/1x1/bh-6893aac3e55c6480e9dac0c023ec2179f6c12a0da82a0bc2717134384c097e88.svg":{"logical_path":"flags/1x1/bh.svg","mtime":"2020-01-07T21:15:22+01:00","size":572,"digest":"6893aac3e55c6480e9dac0c023ec2179f6c12a0da82a0bc2717134384c097e88","integrity":"sha256-aJOqw+VcZIDp2sDAI+whefbBKg2oKgvCcXE0OEwJfog="},"flags/4x3/bi-4fcd0116f7f93c0564c6955806f3c3563d0ea7334ae406f29a897255845c923c.svg":{"logical_path":"flags/4x3/bi.svg","mtime":"2020-01-07T21:15:22+01:00","size":1074,"digest":"4fcd0116f7f93c0564c6955806f3c3563d0ea7334ae406f29a897255845c923c","integrity":"sha256-T80BFvf5PAVkxpVYBvPDVj0OpzNK5AbymolyVYRckjw="},"flags/1x1/bi-91c34eb431b26be67852782a0b93e1d7d577a925454d6c8cea00a0d872d2de8a.svg":{"logical_path":"flags/1x1/bi.svg","mtime":"2020-01-07T21:15:22+01:00","size":1048,"digest":"91c34eb431b26be67852782a0b93e1d7d577a925454d6c8cea00a0d872d2de8a","integrity":"sha256-kcNOtDGya+Z4UngqC5Ph19V3qSVFTWyM6gCg2HLS3oo="},"flags/4x3/bj-63bddb4268f5f8c2ed867041bcf058fb18fcd9d1e0799e01286fca2d5e961c7f.svg":{"logical_path":"flags/4x3/bj.svg","mtime":"2020-01-07T21:15:22+01:00","size":499,"digest":"63bddb4268f5f8c2ed867041bcf058fb18fcd9d1e0799e01286fca2d5e961c7f","integrity":"sha256-Y73bQmj1+MLthnBBvPBY+xj82dHgeZ4BKG/KLV6WHH8="},"flags/1x1/bj-e2606c5a8498c474a6b6708626b88108fcb73840344766566dc56f804279cdfc.svg":{"logical_path":"flags/1x1/bj.svg","mtime":"2020-01-07T21:15:22+01:00","size":502,"digest":"e2606c5a8498c474a6b6708626b88108fcb73840344766566dc56f804279cdfc","integrity":"sha256-4mBsWoSYxHSmtnCGJriBCPy3OEA0R2ZWbcVvgEJ5zfw="},"flags/4x3/bl-824a7265f48789d5e1ad5c5b0042a13a7d2d4357210e5bd8124fca19931e8c74.svg":{"logical_path":"flags/4x3/bl.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"824a7265f48789d5e1ad5c5b0042a13a7d2d4357210e5bd8124fca19931e8c74","integrity":"sha256-gkpyZfSHidXhrVxbAEKhOn0tQ1chDlvYEk/KGZMejHQ="},"flags/1x1/bl-ba6a7881b0ca72ac57aee4d823ae611ab4ad24a938ee9e01a7a4d5ae04cfccf6.svg":{"logical_path":"flags/1x1/bl.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"ba6a7881b0ca72ac57aee4d823ae611ab4ad24a938ee9e01a7a4d5ae04cfccf6","integrity":"sha256-ump4gbDKcqxXruTYI65hGrStJKk47p4Bp6TVrgTPzPY="},"flags/4x3/bm-2e2f09e5a4edf4b18afff581656f50b0b4c37783db29591ff00ca768f7f755bc.svg":{"logical_path":"flags/4x3/bm.svg","mtime":"2020-01-07T21:15:22+01:00","size":22650,"digest":"2e2f09e5a4edf4b18afff581656f50b0b4c37783db29591ff00ca768f7f755bc","integrity":"sha256-Li8J5aTt9LGK//WBZW9QsLTDd4PbKVkf8AynaPf3Vbw="},"flags/1x1/bm-f553f953f8784ea4d67a5197f5d808a67747eb8a1cb56990d6838e690090d2d6.svg":{"logical_path":"flags/1x1/bm.svg","mtime":"2020-01-07T21:15:22+01:00","size":22337,"digest":"f553f953f8784ea4d67a5197f5d808a67747eb8a1cb56990d6838e690090d2d6","integrity":"sha256-9VP5U/h4TqTWelGX9dgIpndH64octWmQ1oOOaQCQ0tY="},"flags/4x3/bn-bcf9967c12eb6397346cb5b960ae92efa41f314f780d09a3d7c81f5dacac4180.svg":{"logical_path":"flags/4x3/bn.svg","mtime":"2020-01-07T21:15:22+01:00","size":14387,"digest":"bcf9967c12eb6397346cb5b960ae92efa41f314f780d09a3d7c81f5dacac4180","integrity":"sha256-vPmWfBLrY5c0bLW5YK6S76QfMU94DQmj18gfXaysQYA="},"flags/1x1/bn-1d1aad3fe9fd33ce922eba33c9ae6047a5646349239c20d1bc7307ec6d19a043.svg":{"logical_path":"flags/1x1/bn.svg","mtime":"2020-01-07T21:15:22+01:00","size":14521,"digest":"1d1aad3fe9fd33ce922eba33c9ae6047a5646349239c20d1bc7307ec6d19a043","integrity":"sha256-HRqtP+n9M86SLrozya5gR6VkY0kjnCDRvHMH7G0ZoEM="},"flags/4x3/bo-fa423f2bb4ab6e8e9dd399ad73781ea8d9cbafd30f1b7ee0bcecfb9e7b75581e.svg":{"logical_path":"flags/4x3/bo.svg","mtime":"2020-01-07T21:15:22+01:00","size":118272,"digest":"fa423f2bb4ab6e8e9dd399ad73781ea8d9cbafd30f1b7ee0bcecfb9e7b75581e","integrity":"sha256-+kI/K7Srbo6d05mtc3geqNnLr9MPG37gvOz7nnt1WB4="},"flags/1x1/bo-f5faa29e40191e0c76070ac1a1d2a1f2b18e9cd358b8a77cefaed8efc49a265e.svg":{"logical_path":"flags/1x1/bo.svg","mtime":"2020-01-07T21:15:22+01:00","size":119850,"digest":"f5faa29e40191e0c76070ac1a1d2a1f2b18e9cd358b8a77cefaed8efc49a265e","integrity":"sha256-9fqinkAZHgx2BwrBodKh8rGOnNNYuKd8767Y78SaJl4="},"flags/4x3/bq-493c92ab19204c3ad319e6caba021df050132b99bd57a8f9b74131b78229c29e.svg":{"logical_path":"flags/4x3/bq.svg","mtime":"2020-01-07T21:15:22+01:00","size":227,"digest":"493c92ab19204c3ad319e6caba021df050132b99bd57a8f9b74131b78229c29e","integrity":"sha256-STySqxkgTDrTGebKugId8FATK5m9V6j5t0Ext4Ipwp4="},"flags/1x1/bq-6e30bbeabc2aa097f657a411984b3c23278a8fcce2fc016b1cd6d2262f672d33.svg":{"logical_path":"flags/1x1/bq.svg","mtime":"2020-01-07T21:15:22+01:00","size":231,"digest":"6e30bbeabc2aa097f657a411984b3c23278a8fcce2fc016b1cd6d2262f672d33","integrity":"sha256-bjC76rwqoJf2V6QRmEs8IyeKj8zi/AFrHNbSJi9nLTM="},"flags/4x3/br-cf3ba80ec2c9fd4d3c845c3a3c43a2b9d81cf90707a2918789e8b1f596833e01.svg":{"logical_path":"flags/4x3/br.svg","mtime":"2020-01-07T21:15:22+01:00","size":8244,"digest":"cf3ba80ec2c9fd4d3c845c3a3c43a2b9d81cf90707a2918789e8b1f596833e01","integrity":"sha256-zzuoDsLJ/U08hFw6PEOiudgc+QcHopGHieix9ZaDPgE="},"flags/1x1/br-7bf4e4b31650ac25f0bc6c86eb87491a7e5a8eac13acccfcbde44346c88728f6.svg":{"logical_path":"flags/1x1/br.svg","mtime":"2020-01-07T21:15:22+01:00","size":7852,"digest":"7bf4e4b31650ac25f0bc6c86eb87491a7e5a8eac13acccfcbde44346c88728f6","integrity":"sha256-e/TksxZQrCXwvGyG64dJGn5ajqwTrMz8veRDRsiHKPY="},"flags/4x3/bs-69f60b5fea96b67dd939e597099994921bb3dc3bcf31b8dee7cc45be2885c836.svg":{"logical_path":"flags/4x3/bs.svg","mtime":"2020-01-07T21:15:22+01:00","size":549,"digest":"69f60b5fea96b67dd939e597099994921bb3dc3bcf31b8dee7cc45be2885c836","integrity":"sha256-afYLX+qWtn3ZOeWXCZmUkhuz3DvPMbje58xFviiFyDY="},"flags/1x1/bs-f5d6acf7ef7a240dc09ac88710fd77fd3494501104392db74d5c540d482f2262.svg":{"logical_path":"flags/1x1/bs.svg","mtime":"2020-01-07T21:15:22+01:00","size":571,"digest":"f5d6acf7ef7a240dc09ac88710fd77fd3494501104392db74d5c540d482f2262","integrity":"sha256-9das9+96JA3AmsiHEP13/TSUUBEEOS23TVxUDUgvImI="},"flags/4x3/bt-6c20b0c00e12d5898be0239a0c66ce775debd0bd536de56a271859a0285a039e.svg":{"logical_path":"flags/4x3/bt.svg","mtime":"2020-01-07T21:15:22+01:00","size":25345,"digest":"6c20b0c00e12d5898be0239a0c66ce775debd0bd536de56a271859a0285a039e","integrity":"sha256-bCCwwA4S1YmL4COaDGbOd13r0L1TbeVqJxhZoChaA54="},"flags/1x1/bt-58de3ca9438811ef1920e2f84c4ba4ce32d01069f4d197ab5d577de6acbe0c85.svg":{"logical_path":"flags/1x1/bt.svg","mtime":"2020-01-07T21:15:22+01:00","size":25172,"digest":"58de3ca9438811ef1920e2f84c4ba4ce32d01069f4d197ab5d577de6acbe0c85","integrity":"sha256-WN48qUOIEe8ZIOL4TEukzjLQEGn00ZerXVd95qy+DIU="},"flags/4x3/bv-ff173190fc339b3cb8b6e8235bc5e373853d7127fd94cbc32ac737e839aeb586.svg":{"logical_path":"flags/4x3/bv.svg","mtime":"2020-01-07T21:15:22+01:00","size":582,"digest":"ff173190fc339b3cb8b6e8235bc5e373853d7127fd94cbc32ac737e839aeb586","integrity":"sha256-/xcxkPwzmzy4tugjW8Xjc4U9cSf9lMvDKsc36DmutYY="},"flags/1x1/bv-59616ff1a722959064c83927ca2e49c1fce42a9b18e91b9ecbb74f62527aff43.svg":{"logical_path":"flags/1x1/bv.svg","mtime":"2020-01-07T21:15:22+01:00","size":585,"digest":"59616ff1a722959064c83927ca2e49c1fce42a9b18e91b9ecbb74f62527aff43","integrity":"sha256-WWFv8acilZBkyDknyi5JwfzkKpsY6Ruey7dPYlJ6/0M="},"flags/4x3/bw-4bb1d3131b88c65b5decc67f7b44903e931bca2fcac841942591c599f0cbb850.svg":{"logical_path":"flags/4x3/bw.svg","mtime":"2020-01-07T21:15:22+01:00","size":255,"digest":"4bb1d3131b88c65b5decc67f7b44903e931bca2fcac841942591c599f0cbb850","integrity":"sha256-S7HTExuIxltd7MZ/e0SQPpMbyi/KyEGUJZHFmfDLuFA="},"flags/1x1/bw-e08f50c0836ca5858aed7b0526aed6fb630da8dc6b6b96bd9a476af599dc89d6.svg":{"logical_path":"flags/1x1/bw.svg","mtime":"2020-01-07T21:15:22+01:00","size":257,"digest":"e08f50c0836ca5858aed7b0526aed6fb630da8dc6b6b96bd9a476af599dc89d6","integrity":"sha256-4I9QwINspYWK7XsFJq7W+2MNqNxra5a9mkdq9ZncidY="},"flags/4x3/by-324ac96bfbe075781c664be3b9e2ac6b4d2a46dd2b418ca0920284f64394c7d4.svg":{"logical_path":"flags/4x3/by.svg","mtime":"2020-01-07T21:15:22+01:00","size":5998,"digest":"324ac96bfbe075781c664be3b9e2ac6b4d2a46dd2b418ca0920284f64394c7d4","integrity":"sha256-MkrJa/vgdXgcZkvjueKsa00qRt0rQYygkgKE9kOUx9Q="},"flags/1x1/by-37b80e8bf7e51fef99a8307d6dffb04ee164790ceeafef606d516ca333e9488a.svg":{"logical_path":"flags/1x1/by.svg","mtime":"2020-01-07T21:15:22+01:00","size":6105,"digest":"37b80e8bf7e51fef99a8307d6dffb04ee164790ceeafef606d516ca333e9488a","integrity":"sha256-N7gOi/flH++ZqDB9bf+wTuFkeQzur+9gbVFsozPpSIo="},"flags/4x3/bz-156fdc45f8c15c9520a1ea9fc0f395f294f02077408ea1938c222a37cfbb7f1d.svg":{"logical_path":"flags/4x3/bz.svg","mtime":"2020-01-07T21:15:22+01:00","size":46916,"digest":"156fdc45f8c15c9520a1ea9fc0f395f294f02077408ea1938c222a37cfbb7f1d","integrity":"sha256-FW/cRfjBXJUgoeqfwPOV8pTwIHdAjqGTjCIqN8+7fx0="},"flags/1x1/bz-24577d4e7b29b33ab3b1d37914c8479889baa7e8c8399c6d1c99faed31ab053a.svg":{"logical_path":"flags/1x1/bz.svg","mtime":"2020-01-07T21:15:22+01:00","size":47160,"digest":"24577d4e7b29b33ab3b1d37914c8479889baa7e8c8399c6d1c99faed31ab053a","integrity":"sha256-JFd9TnspszqzsdN5FMhHmIm6p+jIOZxtHJn67TGrBTo="},"flags/4x3/ca-0d57cab46d5dbb0012a5e4ae0a9efee3baee90d5d157950a6c5d67edf2daa58f.svg":{"logical_path":"flags/4x3/ca.svg","mtime":"2020-01-07T21:15:22+01:00","size":731,"digest":"0d57cab46d5dbb0012a5e4ae0a9efee3baee90d5d157950a6c5d67edf2daa58f","integrity":"sha256-DVfKtG1duwASpeSuCp7+47rukNXRV5UKbF1n7fLapY8="},"flags/1x1/ca-192a6fb0544e5a6f33a32149d62f1e7ac0a1d61c5c5afa57f3a42346ca8e8c90.svg":{"logical_path":"flags/1x1/ca.svg","mtime":"2020-01-07T21:15:22+01:00","size":712,"digest":"192a6fb0544e5a6f33a32149d62f1e7ac0a1d61c5c5afa57f3a42346ca8e8c90","integrity":"sha256-GSpvsFROWm8zoyFJ1i8eesCh1hxcWvpX86QjRsqOjJA="},"flags/4x3/cc-a35f2a9e10a28d6918ced65e0623b03bb2fbf1f20670b581bc0a409d33b4e843.svg":{"logical_path":"flags/4x3/cc.svg","mtime":"2020-01-07T21:15:22+01:00","size":3144,"digest":"a35f2a9e10a28d6918ced65e0623b03bb2fbf1f20670b581bc0a409d33b4e843","integrity":"sha256-o18qnhCijWkYztZeBiOwO7L78fIGcLWBvApAnTO06EM="},"flags/1x1/cc-d2025eefc9d30f724f3fcd95c0fd9f7938930ecb01af7e0cd6ee6553d7358eb6.svg":{"logical_path":"flags/1x1/cc.svg","mtime":"2020-01-07T21:15:22+01:00","size":3092,"digest":"d2025eefc9d30f724f3fcd95c0fd9f7938930ecb01af7e0cd6ee6553d7358eb6","integrity":"sha256-0gJe78nTD3JPP82VwP2feTiTDssBr34M1u5lU9c1jrY="},"flags/4x3/cd-5d2127c991b30522ae0a29d05facbc88728c050d7e333a60d614af1545459c5c.svg":{"logical_path":"flags/4x3/cd.svg","mtime":"2020-01-07T21:15:22+01:00","size":352,"digest":"5d2127c991b30522ae0a29d05facbc88728c050d7e333a60d614af1545459c5c","integrity":"sha256-XSEnyZGzBSKuCinQX6y8iHKMBQ1+Mzpg1hSvFUVFnFw="},"flags/1x1/cd-59dacf424d1c8c779db66c5b7f2a93a3c8f14976c2975ccfb07639676a1602e3.svg":{"logical_path":"flags/1x1/cd.svg","mtime":"2020-01-07T21:15:22+01:00","size":510,"digest":"59dacf424d1c8c779db66c5b7f2a93a3c8f14976c2975ccfb07639676a1602e3","integrity":"sha256-WdrPQk0cjHedtmxbfyqTo8jxSXbCl1zPsHY5Z2oWAuM="},"flags/4x3/cf-ac0aaffba354d848eba2501a402ee81dc96a56ad0acd3741ec9905e76c372e1e.svg":{"logical_path":"flags/4x3/cf.svg","mtime":"2020-01-07T21:15:22+01:00","size":689,"digest":"ac0aaffba354d848eba2501a402ee81dc96a56ad0acd3741ec9905e76c372e1e","integrity":"sha256-rAqv+6NU2EjrolAaQC7oHclqVq0KzTdB7JkF52w3Lh4="},"flags/1x1/cf-e637674faf7edcdad37182192d038448c157421ab0c69377d9b8e56ab2c0249d.svg":{"logical_path":"flags/1x1/cf.svg","mtime":"2020-01-07T21:15:22+01:00","size":635,"digest":"e637674faf7edcdad37182192d038448c157421ab0c69377d9b8e56ab2c0249d","integrity":"sha256-5jdnT69+3NrTcYIZLQOESMFXQhqwxpN32bjlarLAJJ0="},"flags/4x3/cg-3729f717c83c9df7d0543a1a5d4a506efe184bdfeb39f9260b4b63edf19d2538.svg":{"logical_path":"flags/4x3/cg.svg","mtime":"2020-01-07T21:15:22+01:00","size":484,"digest":"3729f717c83c9df7d0543a1a5d4a506efe184bdfeb39f9260b4b63edf19d2538","integrity":"sha256-Nyn3F8g8nffQVDoaXUpQbv4YS9/rOfkmC0tj7fGdJTg="},"flags/1x1/cg-8353ff1f251714b1b8905eec1722378426719955d0637d206d35d1dcfa68ddcf.svg":{"logical_path":"flags/1x1/cg.svg","mtime":"2020-01-07T21:15:22+01:00","size":472,"digest":"8353ff1f251714b1b8905eec1722378426719955d0637d206d35d1dcfa68ddcf","integrity":"sha256-g1P/HyUXFLG4kF7sFyI3hCZxmVXQY30gbTXR3Ppo3c8="},"flags/4x3/ch-6739edee6d1ef72c4ed97cfe723d3bb7f17e4df5390f3a4ae234f1ffdeece0cf.svg":{"logical_path":"flags/4x3/ch.svg","mtime":"2020-01-07T21:15:22+01:00","size":300,"digest":"6739edee6d1ef72c4ed97cfe723d3bb7f17e4df5390f3a4ae234f1ffdeece0cf","integrity":"sha256-Zznt7m0e9yxO2Xz+cj07t/F+TfU5DzpK4jTx/97s4M8="},"flags/1x1/ch-7c3dec465228981c57a90a3a7b3a6c42dd3e699230663e770b55008ce6d14208.svg":{"logical_path":"flags/1x1/ch.svg","mtime":"2020-01-07T21:15:22+01:00","size":298,"digest":"7c3dec465228981c57a90a3a7b3a6c42dd3e699230663e770b55008ce6d14208","integrity":"sha256-fD3sRlIomBxXqQo6ezpsQt0+aZIwZj53C1UAjObRQgg="},"flags/4x3/ci-3e076d13c9524149508c442f8f727424660124e3591280d8ae9bddf9d8272a1e.svg":{"logical_path":"flags/4x3/ci.svg","mtime":"2020-01-07T21:15:22+01:00","size":283,"digest":"3e076d13c9524149508c442f8f727424660124e3591280d8ae9bddf9d8272a1e","integrity":"sha256-PgdtE8lSQUlQjEQvj3J0JGYBJONZEoDYrpvd+dgnKh4="},"flags/1x1/ci-691a0a8577b7d555fc90dc7170adc9ec7571191cb3507c46c0e8516fd1778a91.svg":{"logical_path":"flags/1x1/ci.svg","mtime":"2020-01-07T21:15:22+01:00","size":286,"digest":"691a0a8577b7d555fc90dc7170adc9ec7571191cb3507c46c0e8516fd1778a91","integrity":"sha256-aRoKhXe31VX8kNxxcK3J7HVxGRyzUHxGwOhRb9F3ipE="},"flags/4x3/ck-9cff098e505afde9bf5166cb7b0c409178575633b913ce08c1c700d08c477db6.svg":{"logical_path":"flags/4x3/ck.svg","mtime":"2020-01-07T21:15:22+01:00","size":1887,"digest":"9cff098e505afde9bf5166cb7b0c409178575633b913ce08c1c700d08c477db6","integrity":"sha256-nP8JjlBa/em/UWbLewxAkXhXVjO5E84IwccA0IxHfbY="},"flags/1x1/ck-9c8dffa3bd5953d8a121780831f25b58738e67f3be71961894c56dfd25848c88.svg":{"logical_path":"flags/1x1/ck.svg","mtime":"2020-01-07T21:15:22+01:00","size":1846,"digest":"9c8dffa3bd5953d8a121780831f25b58738e67f3be71961894c56dfd25848c88","integrity":"sha256-nI3/o71ZU9ihIXgIMfJbWHOOZ/O+cZYYlMVt/SWEjIg="},"flags/4x3/cl-a4c57ec2bb9adcb67e1850256e5165227b764187d6941a38d95d0def5144699b.svg":{"logical_path":"flags/4x3/cl.svg","mtime":"2020-01-07T21:15:22+01:00","size":560,"digest":"a4c57ec2bb9adcb67e1850256e5165227b764187d6941a38d95d0def5144699b","integrity":"sha256-pMV+wrua3LZ+GFAlblFlInt2QYfWlBo42V0N71FEaZs="},"flags/1x1/cl-5a3e95cf63358e3911c97404818c2cddfd46414d8445e47d6976ee166c48926c.svg":{"logical_path":"flags/1x1/cl.svg","mtime":"2020-01-07T21:15:22+01:00","size":577,"digest":"5a3e95cf63358e3911c97404818c2cddfd46414d8445e47d6976ee166c48926c","integrity":"sha256-Wj6Vz2M1jjkRyXQEgYws3f1GQU2EReR9aXbuFmxIkmw="},"flags/4x3/cm-5dce9f36d92a61bdc0c482141bdb4f55bfcec0a2ecc745db643a7953e2e5a722.svg":{"logical_path":"flags/4x3/cm.svg","mtime":"2020-01-07T21:15:22+01:00","size":827,"digest":"5dce9f36d92a61bdc0c482141bdb4f55bfcec0a2ecc745db643a7953e2e5a722","integrity":"sha256-Xc6fNtkqYb3AxIIUG9tPVb/OwKLsx0XbZDp5U+LlpyI="},"flags/1x1/cm-d8d21f54c44df5df9edef227691384a4ad37c15ff57c8aa0dead684d19eac8cd.svg":{"logical_path":"flags/1x1/cm.svg","mtime":"2020-01-07T21:15:22+01:00","size":827,"digest":"d8d21f54c44df5df9edef227691384a4ad37c15ff57c8aa0dead684d19eac8cd","integrity":"sha256-2NIfVMRN9d+e3vInaROEpK03wV/1fIqg3q1oTRnqyM0="},"flags/4x3/cn-48ce1c2837bb806a6aaf8b7a9878b6d040c0d069a0ffca9a8a49e7a31aa30e7f.svg":{"logical_path":"flags/4x3/cn.svg","mtime":"2020-01-07T21:15:22+01:00","size":804,"digest":"48ce1c2837bb806a6aaf8b7a9878b6d040c0d069a0ffca9a8a49e7a31aa30e7f","integrity":"sha256-SM4cKDe7gGpqr4t6mHi20EDA0Gmg/8qaiknnoxqjDn8="},"flags/1x1/cn-e6be64c6c4a976e64d39bfe8a6ae4a5b1d38a6aa1b138ddcacf34a942dff50bc.svg":{"logical_path":"flags/1x1/cn.svg","mtime":"2020-01-07T21:15:22+01:00","size":746,"digest":"e6be64c6c4a976e64d39bfe8a6ae4a5b1d38a6aa1b138ddcacf34a942dff50bc","integrity":"sha256-5r5kxsSpduZNOb/opq5KWx04pqobE43crPNKlC3/ULw="},"flags/4x3/co-648d3ff596a0ecf3e85ac17c53abe1d7ca4759688e10a7a3a8b56f096ba6b6f7.svg":{"logical_path":"flags/4x3/co.svg","mtime":"2020-01-07T21:15:22+01:00","size":292,"digest":"648d3ff596a0ecf3e85ac17c53abe1d7ca4759688e10a7a3a8b56f096ba6b6f7","integrity":"sha256-ZI0/9Zag7PPoWsF8U6vh18pHWWiOEKejqLVvCWumtvc="},"flags/1x1/co-d3c16180c6bce630f762aff789104d10e9dbc949e740535a61396cd0ec34c1a1.svg":{"logical_path":"flags/1x1/co.svg","mtime":"2020-01-07T21:15:22+01:00","size":292,"digest":"d3c16180c6bce630f762aff789104d10e9dbc949e740535a61396cd0ec34c1a1","integrity":"sha256-08FhgMa85jD3Yq/3iRBNEOnbyUnnQFNaYTls0Ow0waE="},"flags/4x3/cr-84aec60f19bd33e1ac1a209155fec8d372e17cb59dc1346bb9124e5cc867375d.svg":{"logical_path":"flags/4x3/cr.svg","mtime":"2020-01-07T21:15:22+01:00","size":296,"digest":"84aec60f19bd33e1ac1a209155fec8d372e17cb59dc1346bb9124e5cc867375d","integrity":"sha256-hK7GDxm9M+GsGiCRVf7I03LhfLWdwTRruRJOXMhnN10="},"flags/1x1/cr-5371cf8bc5ad1a805155c1b3065e420a0a418c8d63b472bc545890289a365b35.svg":{"logical_path":"flags/1x1/cr.svg","mtime":"2020-01-07T21:15:22+01:00","size":296,"digest":"5371cf8bc5ad1a805155c1b3065e420a0a418c8d63b472bc545890289a365b35","integrity":"sha256-U3HPi8WtGoBRVcGzBl5CCgpBjI1jtHK8VFiQKJo2WzU="},"flags/4x3/cu-bb3f857e02aeab606120d9f164283f07a44b227f12aad7d6d344c7579f7b3ff0.svg":{"logical_path":"flags/4x3/cu.svg","mtime":"2020-01-07T21:15:22+01:00","size":619,"digest":"bb3f857e02aeab606120d9f164283f07a44b227f12aad7d6d344c7579f7b3ff0","integrity":"sha256-uz+FfgKuq2BhINnxZCg/B6RLIn8SqtfW00THV597P/A="},"flags/1x1/cu-02c0054169b874a8d231de1f45b2d0884de48848157734e0ddcd0f684c05c18d.svg":{"logical_path":"flags/1x1/cu.svg","mtime":"2020-01-07T21:15:22+01:00","size":576,"digest":"02c0054169b874a8d231de1f45b2d0884de48848157734e0ddcd0f684c05c18d","integrity":"sha256-AsAFQWm4dKjSMd4fRbLQiE3kiEgVdzTg3c0PaEwFwY0="},"flags/4x3/cv-90ee90ab59713454a218d8c300c71139e62655de80bfbea81df93142a529b81f.svg":{"logical_path":"flags/4x3/cv.svg","mtime":"2020-01-07T21:15:22+01:00","size":1414,"digest":"90ee90ab59713454a218d8c300c71139e62655de80bfbea81df93142a529b81f","integrity":"sha256-kO6Qq1lxNFSiGNjDAMcROeYmVd6Av76oHfkxQqUpuB8="},"flags/1x1/cv-2cf3eede97a468d28459ccc2271c28bb5b6029af2388b0301f6203be55e49308.svg":{"logical_path":"flags/1x1/cv.svg","mtime":"2020-01-07T21:15:22+01:00","size":1362,"digest":"2cf3eede97a468d28459ccc2271c28bb5b6029af2388b0301f6203be55e49308","integrity":"sha256-LPPu3pekaNKEWczCJxwou1tgKa8jiLAwH2IDvlXkkwg="},"flags/4x3/cw-d46beb7b10b40fa82cfd40eb86a3b3879f59f5da2a2f5ef91d121ab9b16c0aad.svg":{"logical_path":"flags/4x3/cw.svg","mtime":"2020-01-07T21:15:22+01:00","size":678,"digest":"d46beb7b10b40fa82cfd40eb86a3b3879f59f5da2a2f5ef91d121ab9b16c0aad","integrity":"sha256-1GvrexC0D6gs/UDrhqOzh59Z9doqL175HRIaubFsCq0="},"flags/1x1/cw-ba78c834e61b24a8a2b6bc7c80ab9f14e42c3c69415941ddb7c8c1f652ccd8b5.svg":{"logical_path":"flags/1x1/cw.svg","mtime":"2020-01-07T21:15:22+01:00","size":685,"digest":"ba78c834e61b24a8a2b6bc7c80ab9f14e42c3c69415941ddb7c8c1f652ccd8b5","integrity":"sha256-unjINOYbJKiitrx8gKufFOQsPGlBWUHdt8jB9lLM2LU="},"flags/4x3/cx-28187fb9d91bedc6f239b107d26eb6ec1cc2a0c7730810306c5a6b313c14f2b2.svg":{"logical_path":"flags/4x3/cx.svg","mtime":"2020-01-07T21:15:22+01:00","size":2469,"digest":"28187fb9d91bedc6f239b107d26eb6ec1cc2a0c7730810306c5a6b313c14f2b2","integrity":"sha256-KBh/udkb7cbyObEH0m627BzCoMdzCBAwbFprMTwU8rI="},"flags/1x1/cx-8ebe073d997f93d092a493300ea1d234c91aef80c6e8f431e88aa7f8e724f9a6.svg":{"logical_path":"flags/1x1/cx.svg","mtime":"2020-01-07T21:15:22+01:00","size":2508,"digest":"8ebe073d997f93d092a493300ea1d234c91aef80c6e8f431e88aa7f8e724f9a6","integrity":"sha256-jr4HPZl/k9CSpJMwDqHSNMka74DG6PQx6Iqn+Ock+aY="},"flags/4x3/cy-8d633ecabc7968bb8a869c62545f122aacbbc3e108c25ceb421bb8bc8734b9be.svg":{"logical_path":"flags/4x3/cy.svg","mtime":"2020-01-07T21:15:22+01:00","size":5949,"digest":"8d633ecabc7968bb8a869c62545f122aacbbc3e108c25ceb421bb8bc8734b9be","integrity":"sha256-jWM+yrx5aLuKhpxiVF8SKqy7w+EIwlzrQhu4vIc0ub4="},"flags/1x1/cy-6ef37fdd7518f18727bec1ed9741bb4d1f854dde7ef1a7e9fd2f4ba6291a7790.svg":{"logical_path":"flags/1x1/cy.svg","mtime":"2020-01-07T21:15:22+01:00","size":6053,"digest":"6ef37fdd7518f18727bec1ed9741bb4d1f854dde7ef1a7e9fd2f4ba6291a7790","integrity":"sha256-bvN/3XUY8YcnvsHtl0G7TR+FTd5+8afp/S9Lpikad5A="},"flags/4x3/cz-6c94e3d53fc1ae5982d8eb058b76d86f07d3fb4cd325698fea3291fa35504c56.svg":{"logical_path":"flags/4x3/cz.svg","mtime":"2020-01-07T21:15:22+01:00","size":481,"digest":"6c94e3d53fc1ae5982d8eb058b76d86f07d3fb4cd325698fea3291fa35504c56","integrity":"sha256-bJTj1T/BrlmC2OsFi3bYbwfT+0zTJWmP6jKR+jVQTFY="},"flags/1x1/cz-af9898ebd32559cdbea2fd17b351e5eedafccada6fbc6a2b7952cad78369817e.svg":{"logical_path":"flags/1x1/cz.svg","mtime":"2020-01-07T21:15:22+01:00","size":483,"digest":"af9898ebd32559cdbea2fd17b351e5eedafccada6fbc6a2b7952cad78369817e","integrity":"sha256-r5iY69MlWc2+ov0Xs1Hl7tr8ytpvvGoreVLK14NpgX4="},"flags/4x3/de-e7323083675d25107c85f0cea6534bd21d21e77e6d524d92e1b2d0a4e21117a1.svg":{"logical_path":"flags/4x3/de.svg","mtime":"2020-01-07T21:15:22+01:00","size":216,"digest":"e7323083675d25107c85f0cea6534bd21d21e77e6d524d92e1b2d0a4e21117a1","integrity":"sha256-5zIwg2ddJRB8hfDOplNL0h0h535tUk2S4bLQpOIRF6E="},"flags/1x1/de-fdb60146952d3b2d104310b28882a0ecde44d808240c3bab2cd6c302a538b266.svg":{"logical_path":"flags/1x1/de.svg","mtime":"2020-01-07T21:15:22+01:00","size":224,"digest":"fdb60146952d3b2d104310b28882a0ecde44d808240c3bab2cd6c302a538b266","integrity":"sha256-/bYBRpUtOy0QQxCyiIKg7N5E2AgkDDurLNbDAqU4smY="},"flags/4x3/dj-546da4a0dae9b1ab74dc6ac6076d0c706f37ef2a0d799342dd0345e11f770f03.svg":{"logical_path":"flags/4x3/dj.svg","mtime":"2020-01-07T21:15:22+01:00","size":588,"digest":"546da4a0dae9b1ab74dc6ac6076d0c706f37ef2a0d799342dd0345e11f770f03","integrity":"sha256-VG2koNrpsat03GrGB20McG837yoNeZNC3QNF4R93DwM="},"flags/1x1/dj-c0481b667f003d9d5a3c93861023a97a98224227ac19aa7e07b5b6edd35fe900.svg":{"logical_path":"flags/1x1/dj.svg","mtime":"2020-01-07T21:15:22+01:00","size":588,"digest":"c0481b667f003d9d5a3c93861023a97a98224227ac19aa7e07b5b6edd35fe900","integrity":"sha256-wEgbZn8APZ1aPJOGECOpepgiQiesGap+B7W27dNf6QA="},"flags/4x3/dk-a13735c0337ab4679cd8679508bf5e8067637ab611ca5c54172c621d740420e5.svg":{"logical_path":"flags/4x3/dk.svg","mtime":"2020-01-07T21:15:22+01:00","size":242,"digest":"a13735c0337ab4679cd8679508bf5e8067637ab611ca5c54172c621d740420e5","integrity":"sha256-oTc1wDN6tGec2GeVCL9egGdjerYRylxUFyxiHXQEIOU="},"flags/1x1/dk-822a3b8b6948f49aa81fe7620bd173453d9a45406a9680f24bad7e714e58cb7c.svg":{"logical_path":"flags/1x1/dk.svg","mtime":"2020-01-07T21:15:22+01:00","size":238,"digest":"822a3b8b6948f49aa81fe7620bd173453d9a45406a9680f24bad7e714e58cb7c","integrity":"sha256-gio7i2lI9JqoH+diC9FzRT2aRUBqloDyS61+cU5Yy3w="},"flags/4x3/dm-7713fabd3cf341694b4c1ef5d1379820773722b61c190234ac7416f2872e3940.svg":{"logical_path":"flags/4x3/dm.svg","mtime":"2020-01-07T21:15:22+01:00","size":16026,"digest":"7713fabd3cf341694b4c1ef5d1379820773722b61c190234ac7416f2872e3940","integrity":"sha256-dxP6vTzzQWlLTB710TeYIHc3IrYcGQI0rHQW8ocuOUA="},"flags/1x1/dm-33d984fc9897bb2a3bd16c6672b876effc1a8adc0c57ad122a16db54061e4e46.svg":{"logical_path":"flags/1x1/dm.svg","mtime":"2020-01-07T21:15:22+01:00","size":16514,"digest":"33d984fc9897bb2a3bd16c6672b876effc1a8adc0c57ad122a16db54061e4e46","integrity":"sha256-M9mE/JiXuyo70Wxmcrh27/waitwMV60SKhbbVAYeTkY="},"flags/4x3/do-714b6f307ea3a9c3d30348684b8574e8b7f5078f51649dfa97ae2a69a7108b4a.svg":{"logical_path":"flags/4x3/do.svg","mtime":"2020-01-07T21:15:22+01:00","size":394146,"digest":"714b6f307ea3a9c3d30348684b8574e8b7f5078f51649dfa97ae2a69a7108b4a","integrity":"sha256-cUtvMH6jqcPTA0hoS4V06Lf1B49RZJ36l64qaacQi0o="},"flags/1x1/do-d37306c4b346f89ea14739144374caad69652be31e8ce8e2504c9a0d422a4857.svg":{"logical_path":"flags/1x1/do.svg","mtime":"2020-01-07T21:15:22+01:00","size":391714,"digest":"d37306c4b346f89ea14739144374caad69652be31e8ce8e2504c9a0d422a4857","integrity":"sha256-03MGxLNG+J6hRzkUQ3TKrWllK+MejOjiUEyaDUIqSFc="},"flags/4x3/dz-a96e943c830558fe9823044aac2bfb3f6a4caf3bd3c57943352280a7f6b68cb1.svg":{"logical_path":"flags/4x3/dz.svg","mtime":"2020-01-07T21:15:22+01:00","size":301,"digest":"a96e943c830558fe9823044aac2bfb3f6a4caf3bd3c57943352280a7f6b68cb1","integrity":"sha256-qW6UPIMFWP6YIwRKrCv7P2pMrzvTxXlDNSKAp/a2jLE="},"flags/1x1/dz-09400d3b2c58e641a1641a687b81476761d05f9d0ff65861aeaa33c7f508cda4.svg":{"logical_path":"flags/1x1/dz.svg","mtime":"2020-01-07T21:15:22+01:00","size":312,"digest":"09400d3b2c58e641a1641a687b81476761d05f9d0ff65861aeaa33c7f508cda4","integrity":"sha256-CUANOyxY5kGhZBpoe4FHZ2HQX50P9lhhrqozx/UIzaQ="},"flags/4x3/ec-6762ba85ea0f7bb289b0aa6219c797e5243103d281b1462c61b61030fa329d5e.svg":{"logical_path":"flags/4x3/ec.svg","mtime":"2020-01-07T21:15:22+01:00","size":29417,"digest":"6762ba85ea0f7bb289b0aa6219c797e5243103d281b1462c61b61030fa329d5e","integrity":"sha256-Z2K6heoPe7KJsKpiGceX5SQxA9KBsUYsYbYQMPoynV4="},"flags/1x1/ec-7410a75a013738fbb8cbd756d967380e02ae54ca74e9ef9a41c4b583c2c2794f.svg":{"logical_path":"flags/1x1/ec.svg","mtime":"2020-01-07T21:15:22+01:00","size":29972,"digest":"7410a75a013738fbb8cbd756d967380e02ae54ca74e9ef9a41c4b583c2c2794f","integrity":"sha256-dBCnWgE3OPu4y9dW2Wc4DgKuVMp06e+aQcS1g8LCeU8="},"flags/4x3/ee-ce3b622214bd9eefb43373cae2811ea8cf6ef6a16bb6afbaa5bcaaea34024da0.svg":{"logical_path":"flags/4x3/ee.svg","mtime":"2020-01-07T21:15:22+01:00","size":324,"digest":"ce3b622214bd9eefb43373cae2811ea8cf6ef6a16bb6afbaa5bcaaea34024da0","integrity":"sha256-zjtiIhS9nu+0M3PK4oEeqM9u9qFrtq+6pbyq6jQCTaA="},"flags/1x1/ee-a207a8363b4dde44f59951501c2cb539419e92b0814b25d6448710ced52226f8.svg":{"logical_path":"flags/1x1/ee.svg","mtime":"2020-01-07T21:15:22+01:00","size":355,"digest":"a207a8363b4dde44f59951501c2cb539419e92b0814b25d6448710ced52226f8","integrity":"sha256-ogeoNjtN3kT1mVFQHCy1OUGekrCBSyXWRIcQztUiJvg="},"flags/4x3/eg-16a11fa93856ddc5fd46f8811adfc93660175724b20eaab55ff046855a352d2c.svg":{"logical_path":"flags/4x3/eg.svg","mtime":"2020-01-07T21:15:22+01:00","size":9978,"digest":"16a11fa93856ddc5fd46f8811adfc93660175724b20eaab55ff046855a352d2c","integrity":"sha256-FqEfqThW3cX9RviBGt/JNmAXVySyDqq1X/BGhVo1LSw="},"flags/1x1/eg-9f4d098c604326bbc3692f9e2f335dbc9b34bdf2706565bf448380f0a889d1e2.svg":{"logical_path":"flags/1x1/eg.svg","mtime":"2020-01-07T21:15:22+01:00","size":9992,"digest":"9f4d098c604326bbc3692f9e2f335dbc9b34bdf2706565bf448380f0a889d1e2","integrity":"sha256-n00JjGBDJrvDaS+eLzNdvJs0vfJwZWW/RIOA8KiJ0eI="},"flags/4x3/eh-9cf4a74d29c1a1afc4137deeb5b678d55c8fbdf8d181217267f3a5cce6a76a97.svg":{"logical_path":"flags/4x3/eh.svg","mtime":"2020-01-07T21:15:22+01:00","size":878,"digest":"9cf4a74d29c1a1afc4137deeb5b678d55c8fbdf8d181217267f3a5cce6a76a97","integrity":"sha256-nPSnTSnBoa/EE33utbZ41VyPvfjRgSFyZ/OlzOanapc="},"flags/1x1/eh-16c3327dbcf3483e634b3536b056324b5478212dae6d060f2ffb2ec961cd382f.svg":{"logical_path":"flags/1x1/eh.svg","mtime":"2020-01-07T21:15:22+01:00","size":828,"digest":"16c3327dbcf3483e634b3536b056324b5478212dae6d060f2ffb2ec961cd382f","integrity":"sha256-FsMyfbzzSD5jSzU2sFYyS1R4IS2ubQYPL/suyWHNOC8="},"flags/4x3/er-69a1e1e45289d1282df4b1e5ce5e712d69fbe314abd0c922353fce90814c543e.svg":{"logical_path":"flags/4x3/er.svg","mtime":"2020-01-07T21:15:22+01:00","size":3207,"digest":"69a1e1e45289d1282df4b1e5ce5e712d69fbe314abd0c922353fce90814c543e","integrity":"sha256-aaHh5FKJ0Sgt9LHlzl5xLWn74xSr0MkiNT/OkIFMVD4="},"flags/1x1/er-90d49408e58955cf1cf3185b0193e03c4a107042d47ef5e975dbbe10c6ef7f4a.svg":{"logical_path":"flags/1x1/er.svg","mtime":"2020-01-07T21:15:22+01:00","size":3395,"digest":"90d49408e58955cf1cf3185b0193e03c4a107042d47ef5e975dbbe10c6ef7f4a","integrity":"sha256-kNSUCOWJVc8c8xhbAZPgPEoQcELUfvXpddu+EMbvf0o="},"flags/4x3/es-50e59681c6b6412498bd9cbfc473abedc713db75c54c538b839db3c394d64499.svg":{"logical_path":"flags/4x3/es.svg","mtime":"2020-01-07T21:15:22+01:00","size":92574,"digest":"50e59681c6b6412498bd9cbfc473abedc713db75c54c538b839db3c394d64499","integrity":"sha256-UOWWgca2QSSYvZy/xHOr7ccT23XFTFOLg52zw5TWRJk="},"flags/1x1/es-29c68fa3c9c8c2adacdc2eb0162e9c2fa998faa408836900ec6285000476800d.svg":{"logical_path":"flags/1x1/es.svg","mtime":"2020-01-07T21:15:22+01:00","size":94269,"digest":"29c68fa3c9c8c2adacdc2eb0162e9c2fa998faa408836900ec6285000476800d","integrity":"sha256-KcaPo8nIwq2s3C6wFi6cL6mY+qQIg2kA7GKFAAR2gA0="},"flags/4x3/et-14263ba7ea890fd0a4d89a2791343ecb7acc89aab1fc2593e00a6093b22251df.svg":{"logical_path":"flags/4x3/et.svg","mtime":"2020-01-07T21:15:22+01:00","size":1243,"digest":"14263ba7ea890fd0a4d89a2791343ecb7acc89aab1fc2593e00a6093b22251df","integrity":"sha256-FCY7p+qJD9Ck2JonkTQ+y3rMiaqx/CWT4Apgk7IiUd8="},"flags/1x1/et-086eefb70e9adad537cc1c640a72cc0fa843ec7a9b06b2778aa98b2db055bfe6.svg":{"logical_path":"flags/1x1/et.svg","mtime":"2020-01-07T21:15:22+01:00","size":1242,"digest":"086eefb70e9adad537cc1c640a72cc0fa843ec7a9b06b2778aa98b2db055bfe6","integrity":"sha256-CG7vtw6a2tU3zBxkCnLMD6hD7HqbBrJ3iqmLLbBVv+Y="},"flags/4x3/fi-a4c41caa02a4f6803ea0d6c36de4beebf20d150e3df742b1369a4099c2ff648e.svg":{"logical_path":"flags/4x3/fi.svg","mtime":"2020-01-07T21:15:22+01:00","size":240,"digest":"a4c41caa02a4f6803ea0d6c36de4beebf20d150e3df742b1369a4099c2ff648e","integrity":"sha256-pMQcqgKk9oA+oNbDbeS+6/INFQ4990KxNppAmcL/ZI4="},"flags/1x1/fi-c5fdf318fac5fdfc94fe54268618e58a2bc5933617ead09992900f90cc25de9a.svg":{"logical_path":"flags/1x1/fi.svg","mtime":"2020-01-07T21:15:22+01:00","size":243,"digest":"c5fdf318fac5fdfc94fe54268618e58a2bc5933617ead09992900f90cc25de9a","integrity":"sha256-xf3zGPrF/fyU/lQmhhjliivFkzYX6tCZkpAPkMwl3po="},"flags/4x3/fj-cb0cc4b3b5c202f07487ee519f48b3eadb47035f5f2d5d3f99d20f81e48d6b79.svg":{"logical_path":"flags/4x3/fj.svg","mtime":"2020-01-07T21:15:22+01:00","size":27388,"digest":"cb0cc4b3b5c202f07487ee519f48b3eadb47035f5f2d5d3f99d20f81e48d6b79","integrity":"sha256-ywzEs7XCAvB0h+5Rn0iz6ttHA19fLV0/mdIPgeSNa3k="},"flags/1x1/fj-c2c7fd536841925e7647b2d510d6a0c58700e2a8ded0e42008fb93ffacde101f.svg":{"logical_path":"flags/1x1/fj.svg","mtime":"2020-01-07T21:15:22+01:00","size":27519,"digest":"c2c7fd536841925e7647b2d510d6a0c58700e2a8ded0e42008fb93ffacde101f","integrity":"sha256-wsf9U2hBkl52R7LVENagxYcA4qje0OQgCPuT/6zeEB8="},"flags/4x3/fk-cb61eaa0d7221823f7d17de59ea88ed16b506f9585ab0c7291cf839449d82968.svg":{"logical_path":"flags/4x3/fk.svg","mtime":"2020-01-07T21:15:22+01:00","size":30453,"digest":"cb61eaa0d7221823f7d17de59ea88ed16b506f9585ab0c7291cf839449d82968","integrity":"sha256-y2HqoNciGCP30X3lnqiO0WtQb5WFqwxykc+DlEnYKWg="},"flags/1x1/fk-a871742380ae157d1211a63cc35cd3621b1bf6de6d67e4a8e3565ad200b1d8cf.svg":{"logical_path":"flags/1x1/fk.svg","mtime":"2020-01-07T21:15:22+01:00","size":30648,"digest":"a871742380ae157d1211a63cc35cd3621b1bf6de6d67e4a8e3565ad200b1d8cf","integrity":"sha256-qHF0I4CuFX0SEaY8w1zTYhsb9t5tZ+So41Za0gCx2M8="},"flags/4x3/fm-079b937562a9a412aae8fb762b571ddb49bf23627943c97247b6a9bbdb768153.svg":{"logical_path":"flags/4x3/fm.svg","mtime":"2020-01-07T21:15:22+01:00","size":773,"digest":"079b937562a9a412aae8fb762b571ddb49bf23627943c97247b6a9bbdb768153","integrity":"sha256-B5uTdWKppBKq6Pt2K1cd20m/I2J5Q8lyR7apu9t2gVM="},"flags/1x1/fm-dbec73633ecd8a6c50f56d54df36bbe6a2f8fb534ac7658477c82cad14a806a8.svg":{"logical_path":"flags/1x1/fm.svg","mtime":"2020-01-07T21:15:22+01:00","size":763,"digest":"dbec73633ecd8a6c50f56d54df36bbe6a2f8fb534ac7658477c82cad14a806a8","integrity":"sha256-2+xzYz7NimxQ9W1U3za75qL4+1NKx2WEd8gsrRSoBqg="},"flags/4x3/fo-27279c2481bb1cb3e44850a948987d6a8411acffa770c3aecd1b76d4c5853413.svg":{"logical_path":"flags/4x3/fo.svg","mtime":"2020-01-07T21:15:22+01:00","size":567,"digest":"27279c2481bb1cb3e44850a948987d6a8411acffa770c3aecd1b76d4c5853413","integrity":"sha256-JyecJIG7HLPkSFCpSJh9aoQRrP+ncMOuzRt21MWFNBM="},"flags/1x1/fo-7cb4fdbba1c7223702d843cb0709ddc799f89f909dfe101e3e36d6bf36c3e67f.svg":{"logical_path":"flags/1x1/fo.svg","mtime":"2020-01-07T21:15:22+01:00","size":537,"digest":"7cb4fdbba1c7223702d843cb0709ddc799f89f909dfe101e3e36d6bf36c3e67f","integrity":"sha256-fLT9u6HHIjcC2EPLBwndx5n4n5Cd/hAePjbWvzbD5n8="},"flags/4x3/fr-30ed2f68dc9a17927643640f48f3d2a858bd041770547035349c6e79713cd84e.svg":{"logical_path":"flags/4x3/fr.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"30ed2f68dc9a17927643640f48f3d2a858bd041770547035349c6e79713cd84e","integrity":"sha256-MO0vaNyaF5J2Q2QPSPPSqFi9BBdwVHA1NJxueXE82E4="},"flags/1x1/fr-6b849151204c66fa661c30b34e62919a13b9e66b7cd37a4fc8962e8e0baf9bdc.svg":{"logical_path":"flags/1x1/fr.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"6b849151204c66fa661c30b34e62919a13b9e66b7cd37a4fc8962e8e0baf9bdc","integrity":"sha256-a4SRUSBMZvpmHDCzTmKRmhO55mt803pPyJYujguvm9w="},"flags/4x3/ga-e3840f9d5bd6ee08db748d37a534500b837bee0f8ce65987b2f099a6afd2cc63.svg":{"logical_path":"flags/4x3/ga.svg","mtime":"2020-01-07T21:15:22+01:00","size":277,"digest":"e3840f9d5bd6ee08db748d37a534500b837bee0f8ce65987b2f099a6afd2cc63","integrity":"sha256-44QPnVvW7gjbdI03pTRQC4N77g+M5lmHsvCZpq/SzGM="},"flags/1x1/ga-9eafd5388042b3d2258ac6223075b726426210136b9851b637973105721b64d9.svg":{"logical_path":"flags/1x1/ga.svg","mtime":"2020-01-07T21:15:22+01:00","size":281,"digest":"9eafd5388042b3d2258ac6223075b726426210136b9851b637973105721b64d9","integrity":"sha256-nq/VOIBCs9IlisYiMHW3JkJiEBNrmFG2N5cxBXIbZNk="},"flags/4x3/gb-ce93c8a6b974d63998e263f6d25f898fc20580a28464457f2f4463b687e4fe8d.svg":{"logical_path":"flags/4x3/gb.svg","mtime":"2020-01-07T21:15:22+01:00","size":834,"digest":"ce93c8a6b974d63998e263f6d25f898fc20580a28464457f2f4463b687e4fe8d","integrity":"sha256-zpPIprl01jmY4mP20l+Jj8IFgKKEZEV/L0Rjtofk/o0="},"flags/1x1/gb-1d93e1ce2e2e10c1709e4dc50ac956c007b2c1a63a4bc22ddfd64354f79ad457.svg":{"logical_path":"flags/1x1/gb.svg","mtime":"2020-01-07T21:15:22+01:00","size":792,"digest":"1d93e1ce2e2e10c1709e4dc50ac956c007b2c1a63a4bc22ddfd64354f79ad457","integrity":"sha256-HZPhzi4uEMFwnk3FCslWwAeywaY6S8It39ZDVPea1Fc="},"flags/4x3/gd-7c3a6b6068bbd9a6abc98c2297dd4acd5e31022e5a4210fc0e1205ec28498fa2.svg":{"logical_path":"flags/4x3/gd.svg","mtime":"2020-01-07T21:15:22+01:00","size":1694,"digest":"7c3a6b6068bbd9a6abc98c2297dd4acd5e31022e5a4210fc0e1205ec28498fa2","integrity":"sha256-fDprYGi72aaryYwil91KzV4xAi5aQhD8DhIF7ChJj6I="},"flags/1x1/gd-2310bc03d9e8ddc8599b40891bfb10b812b07023881599a7e02e3028d1bc9ca8.svg":{"logical_path":"flags/1x1/gd.svg","mtime":"2020-01-07T21:15:22+01:00","size":1834,"digest":"2310bc03d9e8ddc8599b40891bfb10b812b07023881599a7e02e3028d1bc9ca8","integrity":"sha256-IxC8A9no3chZm0CJG/sQuBKwcCOIFZmn4C4wKNG8nKg="},"flags/4x3/ge-501c0135fb8c377dbd2859ff6290b47ef4907a8e2ab2ae1e39116b716db6795f.svg":{"logical_path":"flags/4x3/ge.svg","mtime":"2020-01-07T21:15:22+01:00","size":1400,"digest":"501c0135fb8c377dbd2859ff6290b47ef4907a8e2ab2ae1e39116b716db6795f","integrity":"sha256-UBwBNfuMN329KFn/YpC0fvSQeo4qsq4eORFrcW22eV8="},"flags/1x1/ge-ca9ee36883ec12048fbb7fbbfaf231c0d4848ae0b07dab74a46d53b7b34d8114.svg":{"logical_path":"flags/1x1/ge.svg","mtime":"2020-01-07T21:15:22+01:00","size":1544,"digest":"ca9ee36883ec12048fbb7fbbfaf231c0d4848ae0b07dab74a46d53b7b34d8114","integrity":"sha256-yp7jaIPsEgSPu3+7+vIxwNSEiuCwfat0pG1Tt7NNgRQ="},"flags/4x3/gf-7c165f90bfe6ac3674903632182221a992f017ff706354b1761002382e89c2c2.svg":{"logical_path":"flags/4x3/gf.svg","mtime":"2020-01-07T21:15:22+01:00","size":261,"digest":"7c165f90bfe6ac3674903632182221a992f017ff706354b1761002382e89c2c2","integrity":"sha256-fBZfkL/mrDZ0kDYyGCIhqZLwF/9wY1SxdhACOC6JwsI="},"flags/1x1/gf-8838337b15cdcf143fac16c714e8dbf2d893d2ea8f1c8ef06dadcb652dfec41c.svg":{"logical_path":"flags/1x1/gf.svg","mtime":"2020-01-07T21:15:22+01:00","size":264,"digest":"8838337b15cdcf143fac16c714e8dbf2d893d2ea8f1c8ef06dadcb652dfec41c","integrity":"sha256-iDgzexXNzxQ/rBbHFOjb8tiT0uqPHI7wba3LZS3+xBw="},"flags/4x3/gg-2c7bfc50d5bcd374b5f6107974d06af24e70edba31ad71a225e0c2ecc2d6e778.svg":{"logical_path":"flags/4x3/gg.svg","mtime":"2020-01-07T21:15:22+01:00","size":598,"digest":"2c7bfc50d5bcd374b5f6107974d06af24e70edba31ad71a225e0c2ecc2d6e778","integrity":"sha256-LHv8UNW803S19hB5dNBq8k5w7boxrXGiJeDC7MLW53g="},"flags/1x1/gg-509489b1792831bb27d6975c76aa0a2ac2fa2c3906bcf844f616de5e0fbbc359.svg":{"logical_path":"flags/1x1/gg.svg","mtime":"2020-01-07T21:15:22+01:00","size":628,"digest":"509489b1792831bb27d6975c76aa0a2ac2fa2c3906bcf844f616de5e0fbbc359","integrity":"sha256-UJSJsXkoMbsn1pdcdqoKKsL6LDkGvPhE9hbeXg+7w1k="},"flags/4x3/gh-79c187756e93df22fae571ad9419629c5247c016e32a74471e0d461048fdf5cf.svg":{"logical_path":"flags/4x3/gh.svg","mtime":"2020-01-07T21:15:22+01:00","size":286,"digest":"79c187756e93df22fae571ad9419629c5247c016e32a74471e0d461048fdf5cf","integrity":"sha256-ecGHdW6T3yL65XGtlBlinFJHwBbjKnRHHg1GEEj99c8="},"flags/1x1/gh-e7bf18e6337982ee31e3673ab93e722b3410b7a4c202656a4bc3887d8656286b.svg":{"logical_path":"flags/1x1/gh.svg","mtime":"2020-01-07T21:15:22+01:00","size":299,"digest":"e7bf18e6337982ee31e3673ab93e722b3410b7a4c202656a4bc3887d8656286b","integrity":"sha256-578Y5jN5gu4x42c6uT5yKzQQt6TCAmVqS8OIfYZWKGs="},"flags/4x3/gi-ed99b369c8c77e64abd59fab1f28155d71b4378b49625c66ab0ab6dff4f88087.svg":{"logical_path":"flags/4x3/gi.svg","mtime":"2020-01-07T21:15:22+01:00","size":2972,"digest":"ed99b369c8c77e64abd59fab1f28155d71b4378b49625c66ab0ab6dff4f88087","integrity":"sha256-7ZmzacjHfmSr1Z+rHygVXXG0N4tJYlxmqwq23/T4gIc="},"flags/1x1/gi-2e563e96e766e13c0a9c5a3a372059a44739bb696e853d71a6f6b08c491dfb9a.svg":{"logical_path":"flags/1x1/gi.svg","mtime":"2020-01-07T21:15:22+01:00","size":2964,"digest":"2e563e96e766e13c0a9c5a3a372059a44739bb696e853d71a6f6b08c491dfb9a","integrity":"sha256-LlY+ludm4TwKnFo6NyBZpEc5u2luhT1xpvawjEkd+5o="},"flags/4x3/gl-612e560dbad68d540be672b80e22c54db43d6e2070523e81c156ccd6b3fc4260.svg":{"logical_path":"flags/4x3/gl.svg","mtime":"2020-01-07T21:15:22+01:00","size":229,"digest":"612e560dbad68d540be672b80e22c54db43d6e2070523e81c156ccd6b3fc4260","integrity":"sha256-YS5WDbrWjVQL5nK4DiLFTbQ9biBwUj6BwVbM1rP8QmA="},"flags/1x1/gl-a9bb35d2b9ff27638658d9ad6b9e2c4f452072b9a80b508d32e76d37bf62cf6e.svg":{"logical_path":"flags/1x1/gl.svg","mtime":"2020-01-07T21:15:22+01:00","size":243,"digest":"a9bb35d2b9ff27638658d9ad6b9e2c4f452072b9a80b508d32e76d37bf62cf6e","integrity":"sha256-qbs10rn/J2OGWNmta54sT0UgcrmoC1CNMudtN79iz24="},"flags/4x3/gm-4a6f9670a41548cceaced2b728e4bc56acbc4a3ba5544e7a097f7dae7a8bb045.svg":{"logical_path":"flags/4x3/gm.svg","mtime":"2020-01-07T21:15:22+01:00","size":543,"digest":"4a6f9670a41548cceaced2b728e4bc56acbc4a3ba5544e7a097f7dae7a8bb045","integrity":"sha256-Sm+WcKQVSMzqztK3KOS8Vqy8SjulVE56CX99rnqLsEU="},"flags/1x1/gm-b67f9f6bce2f8c8700c198de8bfafac72d01b8a1e55b77f71e8cafdc58f8af5c.svg":{"logical_path":"flags/1x1/gm.svg","mtime":"2020-01-07T21:15:22+01:00","size":385,"digest":"b67f9f6bce2f8c8700c198de8bfafac72d01b8a1e55b77f71e8cafdc58f8af5c","integrity":"sha256-tn+fa84vjIcAwZjei/r6xy0BuKHlW3f3Hoyv3Fj4r1w="},"flags/4x3/gn-873b4eb52f34c7558bef93cfd1b82117b5c32c9fbc0610f8821ccd22f28abe28.svg":{"logical_path":"flags/4x3/gn.svg","mtime":"2020-01-07T21:15:22+01:00","size":298,"digest":"873b4eb52f34c7558bef93cfd1b82117b5c32c9fbc0610f8821ccd22f28abe28","integrity":"sha256-hztOtS80x1WL75PP0bghF7XDLJ+8BhD4ghzNIvKKvig="},"flags/1x1/gn-72f51dc30cf0ed5459ad0f239cf3043eac05ece75945bcaf4ea6653af868c504.svg":{"logical_path":"flags/1x1/gn.svg","mtime":"2020-01-07T21:15:22+01:00","size":298,"digest":"72f51dc30cf0ed5459ad0f239cf3043eac05ece75945bcaf4ea6653af868c504","integrity":"sha256-cvUdwwzw7VRZrQ8jnPMEPqwF7OdZRbyvTqZlOvhoxQQ="},"flags/4x3/gp-4559cad3eb2d173214161d16b0237c68f5c817749a39c862fa7b23dfb4aee923.svg":{"logical_path":"flags/4x3/gp.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"4559cad3eb2d173214161d16b0237c68f5c817749a39c862fa7b23dfb4aee923","integrity":"sha256-RVnK0+stFzIUFh0WsCN8aPXIF3SaOchi+nsj37Su6SM="},"flags/1x1/gp-d6669532054db5b7e441f4858c28920246a65ca3e8a15518c64c7bbb4f9c6416.svg":{"logical_path":"flags/1x1/gp.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"d6669532054db5b7e441f4858c28920246a65ca3e8a15518c64c7bbb4f9c6416","integrity":"sha256-1maVMgVNtbfkQfSFjCiSAkamXKPooVUYxkx7u0+cZBY="},"flags/4x3/gq-0c8dfe7f9543307056bbe6d6e44a16c17201228e5344d5afec1ccf1b9a5eb2f9.svg":{"logical_path":"flags/4x3/gq.svg","mtime":"2020-01-07T21:15:22+01:00","size":5188,"digest":"0c8dfe7f9543307056bbe6d6e44a16c17201228e5344d5afec1ccf1b9a5eb2f9","integrity":"sha256-DI3+f5VDMHBWu+bW5EoWwXIBIo5TRNWv7BzPG5pesvk="},"flags/1x1/gq-ecb761e6db59b9bf8ba37533eaf0c60b7fcc7c0dfa2fcf281ee84c970dcb10f8.svg":{"logical_path":"flags/1x1/gq.svg","mtime":"2020-01-07T21:15:22+01:00","size":5280,"digest":"ecb761e6db59b9bf8ba37533eaf0c60b7fcc7c0dfa2fcf281ee84c970dcb10f8","integrity":"sha256-7Ldh5ttZub+Lo3Uz6vDGC3/MfA36L88oHuhMlw3LEPg="},"flags/4x3/gr-4a4086310397bffa682d439be8650a9e28d94e32963b6411b61435292ac4cf80.svg":{"logical_path":"flags/4x3/gr.svg","mtime":"2020-01-07T21:15:22+01:00","size":818,"digest":"4a4086310397bffa682d439be8650a9e28d94e32963b6411b61435292ac4cf80","integrity":"sha256-SkCGMQOXv/poLUOb6GUKnijZTjKWO2QRthQ1KSrEz4A="},"flags/1x1/gr-0cbd171892c0568b055d3b6585d58ac13dd60dfbcfad16eda1f4f9ead11dd16f.svg":{"logical_path":"flags/1x1/gr.svg","mtime":"2020-01-07T21:15:22+01:00","size":875,"digest":"0cbd171892c0568b055d3b6585d58ac13dd60dfbcfad16eda1f4f9ead11dd16f","integrity":"sha256-DL0XGJLAVosFXTtlhdWKwT3WDfvPrRbtofT56tEd0W8="},"flags/4x3/gs-e45169a93a9e94c15f5cb765a6c863319171fb9b4dce56094411829cd688d486.svg":{"logical_path":"flags/4x3/gs.svg","mtime":"2020-01-07T21:15:22+01:00","size":34658,"digest":"e45169a93a9e94c15f5cb765a6c863319171fb9b4dce56094411829cd688d486","integrity":"sha256-5FFpqTqelMFfXLdlpshjMZFx+5tNzlYJRBGCnNaI1IY="},"flags/1x1/gs-3efc9e1b32961f9aa9d7faa2626e596282b63d049f6717c2378b28e3f508e79a.svg":{"logical_path":"flags/1x1/gs.svg","mtime":"2020-01-07T21:15:22+01:00","size":35151,"digest":"3efc9e1b32961f9aa9d7faa2626e596282b63d049f6717c2378b28e3f508e79a","integrity":"sha256-PvyeGzKWH5qp1/qiYm5ZYoK2PQSfZxfCN4so4/UI55o="},"flags/4x3/gt-64a7345cf66facf7f323d2142aebb4172191108a78ac7493b1a6077b78ac8ec5.svg":{"logical_path":"flags/4x3/gt.svg","mtime":"2020-01-07T21:15:22+01:00","size":37857,"digest":"64a7345cf66facf7f323d2142aebb4172191108a78ac7493b1a6077b78ac8ec5","integrity":"sha256-ZKc0XPZvrPfzI9IUKuu0FyGREIp4rHSTsaYHe3isjsU="},"flags/1x1/gt-436a2af3d95cf3cb13ded897f319cfd6e2c087d678ad0e971c198b0d2c029911.svg":{"logical_path":"flags/1x1/gt.svg","mtime":"2020-01-07T21:15:22+01:00","size":37857,"digest":"436a2af3d95cf3cb13ded897f319cfd6e2c087d678ad0e971c198b0d2c029911","integrity":"sha256-Q2oq89lc88sT3tiX8xnP1uLAh9Z4rQ6XHBmLDSwCmRE="},"flags/4x3/gu-f560822ee237e5277829e63613a615a2ee3d8cc6196dffffe0f0d56a49b11c53.svg":{"logical_path":"flags/4x3/gu.svg","mtime":"2020-01-07T21:15:22+01:00","size":4859,"digest":"f560822ee237e5277829e63613a615a2ee3d8cc6196dffffe0f0d56a49b11c53","integrity":"sha256-9WCCLuI35Sd4KeY2E6YVou49jMYZbf//4PDVakmxHFM="},"flags/1x1/gu-a71c9d290c66c1a0929b05436dc6a8229b1147d7cc62336e04c9adf697030450.svg":{"logical_path":"flags/1x1/gu.svg","mtime":"2020-01-07T21:15:22+01:00","size":4644,"digest":"a71c9d290c66c1a0929b05436dc6a8229b1147d7cc62336e04c9adf697030450","integrity":"sha256-pxydKQxmwaCSmwVDbcaoIpsRR9fMYjNuBMmt9pcDBFA="},"flags/4x3/gw-0dc9ec17735ed605b68672947ce55c49a4ec1551491ccd121f482c1875cdf219.svg":{"logical_path":"flags/4x3/gw.svg","mtime":"2020-01-07T21:15:22+01:00","size":816,"digest":"0dc9ec17735ed605b68672947ce55c49a4ec1551491ccd121f482c1875cdf219","integrity":"sha256-DcnsF3Ne1gW2hnKUfOVcSaTsFVFJHM0SH0gsGHXN8hk="},"flags/1x1/gw-7868c305e4a64b0d8ebfd3f7cb8c881841d71a7e0c3ead2683fe503c80de0674.svg":{"logical_path":"flags/1x1/gw.svg","mtime":"2020-01-07T21:15:22+01:00","size":892,"digest":"7868c305e4a64b0d8ebfd3f7cb8c881841d71a7e0c3ead2683fe503c80de0674","integrity":"sha256-eGjDBeSmSw2Ov9P3y4yIGEHXGn4MPq0mg/5QPIDeBnQ="},"flags/4x3/gy-c9126e544c62508abfb898f0af0bd79c46f4c767c9ed6f928418a24b0f246d85.svg":{"logical_path":"flags/4x3/gy.svg","mtime":"2020-01-07T21:15:22+01:00","size":491,"digest":"c9126e544c62508abfb898f0af0bd79c46f4c767c9ed6f928418a24b0f246d85","integrity":"sha256-yRJuVExiUIq/uJjwrwvXnEb0x2fJ7W+ShBiiSw8kbYU="},"flags/1x1/gy-0e3b849ce460f8ab1ec7cf66a25be1ba91e89b72d8b0aa679a0553464f37a972.svg":{"logical_path":"flags/1x1/gy.svg","mtime":"2020-01-07T21:15:22+01:00","size":484,"digest":"0e3b849ce460f8ab1ec7cf66a25be1ba91e89b72d8b0aa679a0553464f37a972","integrity":"sha256-DjuEnORg+Ksex89molvhupHom3LYsKpnmgVTRk83qXI="},"flags/4x3/hk-cece9126ccbf9151feadfed75791ebf32d4a16beab12f182404519d0cc24eec7.svg":{"logical_path":"flags/4x3/hk.svg","mtime":"2020-01-07T21:15:22+01:00","size":3511,"digest":"cece9126ccbf9151feadfed75791ebf32d4a16beab12f182404519d0cc24eec7","integrity":"sha256-zs6RJsy/kVH+rf7XV5Hr8y1KFr6rEvGCQEUZ0Mwk7sc="},"flags/1x1/hk-9fad00e06f9034877149394914baa2bc3292223b0e32df2b1f9399d4de6e167d.svg":{"logical_path":"flags/1x1/hk.svg","mtime":"2020-01-07T21:15:22+01:00","size":3561,"digest":"9fad00e06f9034877149394914baa2bc3292223b0e32df2b1f9399d4de6e167d","integrity":"sha256-n60A4G+QNIdxSTlJFLqivDKSIjsOMt8rH5OZ1N5uFn0="},"flags/4x3/hm-4b4923b81da24d62ebf31a9bc0addf76beef84593374b1cbd03ba19f3b12e3e9.svg":{"logical_path":"flags/4x3/hm.svg","mtime":"2020-01-07T21:15:22+01:00","size":1328,"digest":"4b4923b81da24d62ebf31a9bc0addf76beef84593374b1cbd03ba19f3b12e3e9","integrity":"sha256-S0kjuB2iTWLr8xqbwK3fdr7vhFkzdLHL0DuhnzsS4+k="},"flags/1x1/hm-776c822113a22e83581234d05f40bfc0ed38b60648d87f513f3da3fff96ffb61.svg":{"logical_path":"flags/1x1/hm.svg","mtime":"2020-01-07T21:15:22+01:00","size":1312,"digest":"776c822113a22e83581234d05f40bfc0ed38b60648d87f513f3da3fff96ffb61","integrity":"sha256-d2yCIROiLoNYEjTQX0C/wO04tgZI2H9RPz2j//lv+2E="},"flags/4x3/hn-855c830786283862a5f399e0d69dffe52b6223b91b32e31b55d55c82f2fa32c9.svg":{"logical_path":"flags/4x3/hn.svg","mtime":"2020-01-07T21:15:22+01:00","size":1115,"digest":"855c830786283862a5f399e0d69dffe52b6223b91b32e31b55d55c82f2fa32c9","integrity":"sha256-hVyDB4YoOGKl85ng1p3/5StiI7kbMuMbVdVcgvL6Msk="},"flags/1x1/hn-64c38bac9403417c4e276bf5536d284fc5410fc04b80acd39a961d298f430dbd.svg":{"logical_path":"flags/1x1/hn.svg","mtime":"2020-01-07T21:15:22+01:00","size":1119,"digest":"64c38bac9403417c4e276bf5536d284fc5410fc04b80acd39a961d298f430dbd","integrity":"sha256-ZMOLrJQDQXxOJ2v1U20oT8VBD8BLgKzTmpYdKY9DDb0="},"flags/4x3/hr-c8cad861f7398a22b9d27ea682d2778df0dde8e146d30142b5294daf988854af.svg":{"logical_path":"flags/4x3/hr.svg","mtime":"2020-01-07T21:15:22+01:00","size":41617,"digest":"c8cad861f7398a22b9d27ea682d2778df0dde8e146d30142b5294daf988854af","integrity":"sha256-yMrYYfc5iiK50n6mgtJ3jfDd6OFG0wFCtSlNr5iIVK8="},"flags/1x1/hr-60c093df6760e4cc6abe26c37a52be3b51458f02712f18e11f08b07dc623b489.svg":{"logical_path":"flags/1x1/hr.svg","mtime":"2020-01-07T21:15:22+01:00","size":41808,"digest":"60c093df6760e4cc6abe26c37a52be3b51458f02712f18e11f08b07dc623b489","integrity":"sha256-YMCT32dg5MxqvibDelK+O1FFjwJxLxjhHwiwfcYjtIk="},"flags/4x3/ht-fe81da06228fa36e7f211bec0d9f0c020f5b9c7f81534b4cb2251848aa276b16.svg":{"logical_path":"flags/4x3/ht.svg","mtime":"2020-01-07T21:15:22+01:00","size":15231,"digest":"fe81da06228fa36e7f211bec0d9f0c020f5b9c7f81534b4cb2251848aa276b16","integrity":"sha256-/oHaBiKPo25/IRvsDZ8MAg9bnH+BU0tMsiUYSKonaxY="},"flags/1x1/ht-dd0197c078859c5a66ff3a51d3a3f92809768e36bfabdec0fc0ab60d068afcd9.svg":{"logical_path":"flags/1x1/ht.svg","mtime":"2020-01-07T21:15:22+01:00","size":15317,"digest":"dd0197c078859c5a66ff3a51d3a3f92809768e36bfabdec0fc0ab60d068afcd9","integrity":"sha256-3QGXwHiFnFpm/zpR06P5KAl2jja/q97A/Aq2DQaK/Nk="},"flags/4x3/hu-9aa998e636687aede491e307f3d068dbe58f2d90bfdfaec0e7ad03baa5b36344.svg":{"logical_path":"flags/4x3/hu.svg","mtime":"2020-01-07T21:15:22+01:00","size":277,"digest":"9aa998e636687aede491e307f3d068dbe58f2d90bfdfaec0e7ad03baa5b36344","integrity":"sha256-mqmY5jZoeu3kkeMH89Bo2+WPLZC/367A560DuqWzY0Q="},"flags/1x1/hu-06858d0fbd4320496e849010e35c8fe82eb618188cf6ec329aef93f5e7af1c23.svg":{"logical_path":"flags/1x1/hu.svg","mtime":"2020-01-07T21:15:22+01:00","size":279,"digest":"06858d0fbd4320496e849010e35c8fe82eb618188cf6ec329aef93f5e7af1c23","integrity":"sha256-BoWND71DIEluhJAQ41yP6C62GBiM9uwymu+T9eevHCM="},"flags/4x3/id-775dbfedd6533afdf5bd017ccc1ad4f8f4238cbe87393d9c837a669196f17293.svg":{"logical_path":"flags/4x3/id.svg","mtime":"2020-01-07T21:15:22+01:00","size":240,"digest":"775dbfedd6533afdf5bd017ccc1ad4f8f4238cbe87393d9c837a669196f17293","integrity":"sha256-d12/7dZTOv31vQF8zBrU+PQjjL6HOT2cg3pmkZbxcpM="},"flags/1x1/id-3920ce662a7ea937b2c11707d8e1f53db52611dd004edf753b0389ed490d9d29.svg":{"logical_path":"flags/1x1/id.svg","mtime":"2020-01-07T21:15:22+01:00","size":242,"digest":"3920ce662a7ea937b2c11707d8e1f53db52611dd004edf753b0389ed490d9d29","integrity":"sha256-OSDOZip+qTeywRcH2OH1PbUmEd0ATt91OwOJ7UkNnSk="},"flags/4x3/ie-6368a1c92440fcf80d3c35607543bcaa2d4662d6e0bc7acf6749ddbc418a72c0.svg":{"logical_path":"flags/4x3/ie.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"6368a1c92440fcf80d3c35607543bcaa2d4662d6e0bc7acf6749ddbc418a72c0","integrity":"sha256-Y2ihySRA/PgNPDVgdUO8qi1GYtbgvHrPZ0ndvEGKcsA="},"flags/1x1/ie-1997e9de640fa764677aa8f5d52f7888bb24a029160e8f67b06dbd043b4f11b3.svg":{"logical_path":"flags/1x1/ie.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"1997e9de640fa764677aa8f5d52f7888bb24a029160e8f67b06dbd043b4f11b3","integrity":"sha256-GZfp3mQPp2Rneqj11S94iLskoCkWDo9nsG29BDtPEbM="},"flags/4x3/il-d76883a2330f9a05a4a64990ba955fc1be90bb46bcb19ae548c21816e7e74178.svg":{"logical_path":"flags/4x3/il.svg","mtime":"2020-01-07T21:15:22+01:00","size":898,"digest":"d76883a2330f9a05a4a64990ba955fc1be90bb46bcb19ae548c21816e7e74178","integrity":"sha256-12iDojMPmgWkpkmQupVfwb6Qu0a8sZrlSMIYFufnQXg="},"flags/1x1/il-f5e643d0e10169a438119dc441ea3100b52a2ff569bbb3a3ad6d1131b47602d8.svg":{"logical_path":"flags/1x1/il.svg","mtime":"2020-01-07T21:15:22+01:00","size":851,"digest":"f5e643d0e10169a438119dc441ea3100b52a2ff569bbb3a3ad6d1131b47602d8","integrity":"sha256-9eZD0OEBaaQ4EZ3EQeoxALUqL/Vpu7OjrW0RMbR2Atg="},"flags/4x3/im-bbae8aa9dd129f8446556afe4904194ad43377d882f9a705fcf1da2bdbfabccf.svg":{"logical_path":"flags/4x3/im.svg","mtime":"2020-01-07T21:15:22+01:00","size":9948,"digest":"bbae8aa9dd129f8446556afe4904194ad43377d882f9a705fcf1da2bdbfabccf","integrity":"sha256-u66Kqd0Sn4RGVWr+SQQZStQzd9iC+acF/PHaK9v6vM8="},"flags/1x1/im-767d72c2e72d732d65c9b016adad983778dfbbb2b5b52e71830f4e41297728d3.svg":{"logical_path":"flags/1x1/im.svg","mtime":"2020-01-07T21:15:22+01:00","size":10295,"digest":"767d72c2e72d732d65c9b016adad983778dfbbb2b5b52e71830f4e41297728d3","integrity":"sha256-dn1ywuctcy1lybAWra2YN3jfu7K1tS5xgw9OQSl3KNM="},"flags/4x3/in-519e33321b8b2ba70a0b7557d66c62d7efdc9723896c49f82528b107028ffe29.svg":{"logical_path":"flags/4x3/in.svg","mtime":"2020-01-07T21:15:22+01:00","size":1077,"digest":"519e33321b8b2ba70a0b7557d66c62d7efdc9723896c49f82528b107028ffe29","integrity":"sha256-UZ4zMhuLK6cKC3VX1mxi1+/clyOJbEn4JSixBwKP/ik="},"flags/1x1/in-27831f76dc6a218a529b6e5d0eafc4c19c999461327b7c013f59226c0601a361.svg":{"logical_path":"flags/1x1/in.svg","mtime":"2020-01-07T21:15:22+01:00","size":1091,"digest":"27831f76dc6a218a529b6e5d0eafc4c19c999461327b7c013f59226c0601a361","integrity":"sha256-J4MfdtxqIYpSm25dDq/EwZyZlGEye3wBP1kibAYBo2E="},"flags/4x3/io-8d25a8e98f682199b413adfbcb6898c37058c9bae085e427fbab03d56e8c0de6.svg":{"logical_path":"flags/4x3/io.svg","mtime":"2020-01-07T21:15:22+01:00","size":27446,"digest":"8d25a8e98f682199b413adfbcb6898c37058c9bae085e427fbab03d56e8c0de6","integrity":"sha256-jSWo6Y9oIZm0E637y2iYw3BYybrgheQn+6sD1W6MDeY="},"flags/1x1/io-627f3b0cef72fd91ff426d74a007dc32d74c9fe677cf2c8355cba84359e16fde.svg":{"logical_path":"flags/1x1/io.svg","mtime":"2020-01-07T21:15:22+01:00","size":27497,"digest":"627f3b0cef72fd91ff426d74a007dc32d74c9fe677cf2c8355cba84359e16fde","integrity":"sha256-Yn87DO9y/ZH/Qm10oAfcMtdMn+Z3zyyDVcuoQ1nhb94="},"flags/4x3/iq-96b24d1439184d0a4c35ca7cea65e5f20469a0e8c8438963aad016e59c399cc6.svg":{"logical_path":"flags/4x3/iq.svg","mtime":"2020-01-07T21:15:22+01:00","size":1479,"digest":"96b24d1439184d0a4c35ca7cea65e5f20469a0e8c8438963aad016e59c399cc6","integrity":"sha256-lrJNFDkYTQpMNcp86mXl8gRpoOjIQ4ljqtAW5Zw5nMY="},"flags/1x1/iq-af04db139f8c44cfe0c612e2c05e848ccfad88fbbfcb58e88cdb7c80db365669.svg":{"logical_path":"flags/1x1/iq.svg","mtime":"2020-01-07T21:15:22+01:00","size":1484,"digest":"af04db139f8c44cfe0c612e2c05e848ccfad88fbbfcb58e88cdb7c80db365669","integrity":"sha256-rwTbE5+MRM/gxhLiwF6EjM+tiPu/y1jojNt8gNs2Vmk="},"flags/4x3/ir-db2c230d355ade2b1ac235ec647bb1535e4703c639a44f9ce112473272ee1019.svg":{"logical_path":"flags/4x3/ir.svg","mtime":"2020-01-07T21:15:22+01:00","size":15484,"digest":"db2c230d355ade2b1ac235ec647bb1535e4703c639a44f9ce112473272ee1019","integrity":"sha256-2ywjDTVa3isawjXsZHuxU15HA8Y5pE+c4RJHMnLuEBk="},"flags/1x1/ir-c648cbf56fc8f324fda477ea816783c9df8a7d398f45f5f94acc1c16c8877b63.svg":{"logical_path":"flags/1x1/ir.svg","mtime":"2020-01-07T21:15:22+01:00","size":15387,"digest":"c648cbf56fc8f324fda477ea816783c9df8a7d398f45f5f94acc1c16c8877b63","integrity":"sha256-xkjL9W/I8yT9pHfqgWeDyd+KfTmPRfX5SswcFsiHe2M="},"flags/4x3/is-29508693138977229758b0f322ba34e90dbcd7a8a74e8820729933d24051d9a7.svg":{"logical_path":"flags/4x3/is.svg","mtime":"2020-01-07T21:15:22+01:00","size":521,"digest":"29508693138977229758b0f322ba34e90dbcd7a8a74e8820729933d24051d9a7","integrity":"sha256-KVCGkxOJdyKXWLDzIro06Q2816inToggcpkz0kBR2ac="},"flags/1x1/is-b1c5db1d4b4853b8144f1d88ababbf14fc88752340457ba3e2c94ab5d54c9c01.svg":{"logical_path":"flags/1x1/is.svg","mtime":"2020-01-07T21:15:22+01:00","size":529,"digest":"b1c5db1d4b4853b8144f1d88ababbf14fc88752340457ba3e2c94ab5d54c9c01","integrity":"sha256-scXbHUtIU7gUTx2Iq6u/FPyIdSNARXuj4slKtdVMnAE="},"flags/4x3/it-d2c168050fc509adac1163b097b0ed409217560735b27802ae9259587c146562.svg":{"logical_path":"flags/4x3/it.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"d2c168050fc509adac1163b097b0ed409217560735b27802ae9259587c146562","integrity":"sha256-0sFoBQ/FCa2sEWOwl7DtQJIXVgc1sngCrpJZWHwUZWI="},"flags/1x1/it-592d34fb666430fa00f98d333623d5efa3c8e0e65ac4eee06bbc4c1de7ce4bea.svg":{"logical_path":"flags/1x1/it.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"592d34fb666430fa00f98d333623d5efa3c8e0e65ac4eee06bbc4c1de7ce4bea","integrity":"sha256-WS00+2ZkMPoA+Y0zNiPV76PI4OZaxO7ga7xMHefOS+o="},"flags/4x3/je-b363a4e3a21630f10791c2ebeb7f918320816ef87c155d4fd29ce37982f4df35.svg":{"logical_path":"flags/4x3/je.svg","mtime":"2020-01-07T21:15:22+01:00","size":4776,"digest":"b363a4e3a21630f10791c2ebeb7f918320816ef87c155d4fd29ce37982f4df35","integrity":"sha256-s2Ok46IWMPEHkcLr63+RgyCBbvh8FV1P0pzjeYL03zU="},"flags/1x1/je-6d43f74e30e099bc056da925ec34c0200708f0a6e90da34db1e59d54ce10cfd9.svg":{"logical_path":"flags/1x1/je.svg","mtime":"2020-01-07T21:15:22+01:00","size":4757,"digest":"6d43f74e30e099bc056da925ec34c0200708f0a6e90da34db1e59d54ce10cfd9","integrity":"sha256-bUP3TjDgmbwFbakl7DTAIAcI8KbpDaNNseWdVM4Qz9k="},"flags/4x3/jm-3d133fbc2564f29e036855e8be224d1579fe66fe49e0f5a2ba0bdcf3cb272823.svg":{"logical_path":"flags/4x3/jm.svg","mtime":"2020-01-07T21:15:22+01:00","size":392,"digest":"3d133fbc2564f29e036855e8be224d1579fe66fe49e0f5a2ba0bdcf3cb272823","integrity":"sha256-PRM/vCVk8p4DaFXoviJNFXn+Zv5J4PWiugvc88snKCM="},"flags/1x1/jm-1aea8ea5d8cbc717fa3ef331d8caa9a1421c88a7bd076e40f8276a5b6f8d0467.svg":{"logical_path":"flags/1x1/jm.svg","mtime":"2020-01-07T21:15:22+01:00","size":392,"digest":"1aea8ea5d8cbc717fa3ef331d8caa9a1421c88a7bd076e40f8276a5b6f8d0467","integrity":"sha256-GuqOpdjLxxf6PvMx2MqpoUIciKe9B25A+CdqW2+NBGc="},"flags/4x3/jo-eee432339f8ea6750987e1121187eb4b53ec537dd7ccb240c018de63f7a92db6.svg":{"logical_path":"flags/4x3/jo.svg","mtime":"2020-01-07T21:15:22+01:00","size":717,"digest":"eee432339f8ea6750987e1121187eb4b53ec537dd7ccb240c018de63f7a92db6","integrity":"sha256-7uQyM5+OpnUJh+ESEYfrS1PsU33XzLJAwBjeY/epLbY="},"flags/1x1/jo-7969b2083c535c85b7e714b755459a6606940e0b5ddb1b71e24daf0a180d14aa.svg":{"logical_path":"flags/1x1/jo.svg","mtime":"2020-01-07T21:15:22+01:00","size":694,"digest":"7969b2083c535c85b7e714b755459a6606940e0b5ddb1b71e24daf0a180d14aa","integrity":"sha256-eWmyCDxTXIW35xS3VUWaZgaUDgtd2xtx4k2vChgNFKo="},"flags/4x3/jp-2eadcfc67ba8cd50c1da86e08e6778e0102c3072865dab8c312cc88006da0abe.svg":{"logical_path":"flags/4x3/jp.svg","mtime":"2020-01-07T21:15:22+01:00","size":484,"digest":"2eadcfc67ba8cd50c1da86e08e6778e0102c3072865dab8c312cc88006da0abe","integrity":"sha256-Lq3PxnuozVDB2obgjmd44BAsMHKGXauMMSzIgAbaCr4="},"flags/1x1/jp-551281a75e6c6fd64eb65b39f56102b52c182f6c38ee045c9422f6592f0f65c5.svg":{"logical_path":"flags/1x1/jp.svg","mtime":"2020-01-07T21:15:22+01:00","size":500,"digest":"551281a75e6c6fd64eb65b39f56102b52c182f6c38ee045c9422f6592f0f65c5","integrity":"sha256-VRKBp15sb9ZOtls59WECtSwYL2w47gRclCL2WS8PZcU="},"flags/4x3/ke-45790bc3ec1ed8ed0124777a7c9e09163353b5af4ff70ae6604a61b53712df4b.svg":{"logical_path":"flags/4x3/ke.svg","mtime":"2020-01-07T21:15:22+01:00","size":1383,"digest":"45790bc3ec1ed8ed0124777a7c9e09163353b5af4ff70ae6604a61b53712df4b","integrity":"sha256-RXkLw+we2O0BJHd6fJ4JFjNTta9P9wrmYEphtTcS30s="},"flags/1x1/ke-2cca24ecf024b801543c0572efc9969ffdaf25cec313e2149c64961839bc301b.svg":{"logical_path":"flags/1x1/ke.svg","mtime":"2020-01-07T21:15:22+01:00","size":1495,"digest":"2cca24ecf024b801543c0572efc9969ffdaf25cec313e2149c64961839bc301b","integrity":"sha256-LMok7PAkuAFUPAVy78mWn/2vJc7DE+IUnGSWGDm8MBs="},"flags/4x3/kg-3879f8931d74cc9c5927261f4095b2bb786f3d62c803b2a96ec550a23fae9f49.svg":{"logical_path":"flags/4x3/kg.svg","mtime":"2020-01-07T21:15:22+01:00","size":3387,"digest":"3879f8931d74cc9c5927261f4095b2bb786f3d62c803b2a96ec550a23fae9f49","integrity":"sha256-OHn4kx10zJxZJyYfQJWyu3hvPWLIA7KpbsVQoj+un0k="},"flags/1x1/kg-74318932808f85b72df308358f2f2699ab0cb7ab4f7ad3c84c4be4024f0fb140.svg":{"logical_path":"flags/1x1/kg.svg","mtime":"2020-01-07T21:15:22+01:00","size":3337,"digest":"74318932808f85b72df308358f2f2699ab0cb7ab4f7ad3c84c4be4024f0fb140","integrity":"sha256-dDGJMoCPhbct8wg1jy8mmasMt6tPetPITEvkAk8PsUA="},"flags/4x3/kh-7409fab4ba4e676db7b5c61020b97893b1735fe0b8e39e9b4f96108400be704e.svg":{"logical_path":"flags/4x3/kh.svg","mtime":"2020-01-07T21:15:22+01:00","size":7295,"digest":"7409fab4ba4e676db7b5c61020b97893b1735fe0b8e39e9b4f96108400be704e","integrity":"sha256-dAn6tLpOZ223tcYQILl4k7FzX+C4456bT5YQhAC+cE4="},"flags/1x1/kh-2603f6a61b400cb12b87397eeba60ae1707511467d5e0c430c05809bf89e5042.svg":{"logical_path":"flags/1x1/kh.svg","mtime":"2020-01-07T21:15:22+01:00","size":7296,"digest":"2603f6a61b400cb12b87397eeba60ae1707511467d5e0c430c05809bf89e5042","integrity":"sha256-JgP2phtADLErhzl+66YK4XB1EUZ9XgxDDAWAm/ieUEI="},"flags/4x3/ki-617c1b52f3d9aee99d094edbd1775cae77aade266a1318eb4671b2bb1620ded5.svg":{"logical_path":"flags/4x3/ki.svg","mtime":"2020-01-07T21:15:22+01:00","size":5818,"digest":"617c1b52f3d9aee99d094edbd1775cae77aade266a1318eb4671b2bb1620ded5","integrity":"sha256-YXwbUvPZrumdCU7b0Xdcrneq3iZqExjrRnGyuxYg3tU="},"flags/1x1/ki-74615266b440a24f09abdeae3853d7e1111f0eba77df71ccd176d83fbd1fd9ad.svg":{"logical_path":"flags/1x1/ki.svg","mtime":"2020-01-07T21:15:22+01:00","size":5955,"digest":"74615266b440a24f09abdeae3853d7e1111f0eba77df71ccd176d83fbd1fd9ad","integrity":"sha256-dGFSZrRAok8Jq96uOFPX4REfDrp333HM0XbYP70f2a0="},"flags/4x3/km-0c9bcbf7e677a541fc8dff6f848c9d92b6982ac2934ae75faa56a2b846bb5698.svg":{"logical_path":"flags/4x3/km.svg","mtime":"2020-01-07T21:15:22+01:00","size":1061,"digest":"0c9bcbf7e677a541fc8dff6f848c9d92b6982ac2934ae75faa56a2b846bb5698","integrity":"sha256-DJvL9+Z3pUH8jf9vhIydkraYKsKTSudfqlaiuEa7Vpg="},"flags/1x1/km-81b0fbe53d09194270e8ed4cbe9be8eb1ae727e77957005369ad8bdc651dd1c8.svg":{"logical_path":"flags/1x1/km.svg","mtime":"2020-01-07T21:15:22+01:00","size":1044,"digest":"81b0fbe53d09194270e8ed4cbe9be8eb1ae727e77957005369ad8bdc651dd1c8","integrity":"sha256-gbD75T0JGUJw6O1Mvpvo6xrnJ+d5VwBTaa2L3GUd0cg="},"flags/4x3/kn-0442f55f81cd3b1057c609301f0af2b503d89a895a954af8c970df997e92bd03.svg":{"logical_path":"flags/4x3/kn.svg","mtime":"2020-01-07T21:15:22+01:00","size":816,"digest":"0442f55f81cd3b1057c609301f0af2b503d89a895a954af8c970df997e92bd03","integrity":"sha256-BEL1X4HNOxBXxgkwHwrytQPYmolalUr4yXDfmX6SvQM="},"flags/1x1/kn-897c34ef54bee486f0d24d2191e2400f49a19d98efb19f8c3f1a27fb0b97131a.svg":{"logical_path":"flags/1x1/kn.svg","mtime":"2020-01-07T21:15:22+01:00","size":820,"digest":"897c34ef54bee486f0d24d2191e2400f49a19d98efb19f8c3f1a27fb0b97131a","integrity":"sha256-iXw071S+5Ibw0k0hkeJAD0mhnZjvsZ+MPxon+wuXExo="},"flags/4x3/kp-a54f7201982b29530381b71a5e2a11c1153860f22c04c0a2d91bb0d20fedf78e.svg":{"logical_path":"flags/4x3/kp.svg","mtime":"2020-01-07T21:15:22+01:00","size":792,"digest":"a54f7201982b29530381b71a5e2a11c1153860f22c04c0a2d91bb0d20fedf78e","integrity":"sha256-pU9yAZgrKVMDgbcaXioRwRU4YPIsBMCi2Ruw0g/t944="},"flags/1x1/kp-758eccd89ef3707808fb68d931f086e49333904f4cc67c88468f3c96fb43b7b6.svg":{"logical_path":"flags/1x1/kp.svg","mtime":"2020-01-07T21:15:22+01:00","size":855,"digest":"758eccd89ef3707808fb68d931f086e49333904f4cc67c88468f3c96fb43b7b6","integrity":"sha256-dY7M2J7zcHgI+2jZMfCG5JMzkE9MxnyIRo88lvtDt7Y="},"flags/4x3/kr-c0b9b2c854133410c0ad9cadbc10b1e0bacf0305519883126d55bfa3214f9d06.svg":{"logical_path":"flags/4x3/kr.svg","mtime":"2020-01-07T21:15:22+01:00","size":1827,"digest":"c0b9b2c854133410c0ad9cadbc10b1e0bacf0305519883126d55bfa3214f9d06","integrity":"sha256-wLmyyFQTNBDArZytvBCx4LrPAwVRmIMSbVW/oyFPnQY="},"flags/1x1/kr-7c0457ac5d284b28b742ea2e061a1aa2a35f63171e464b3a7eb501a48756ce7b.svg":{"logical_path":"flags/1x1/kr.svg","mtime":"2020-01-07T21:15:22+01:00","size":1733,"digest":"7c0457ac5d284b28b742ea2e061a1aa2a35f63171e464b3a7eb501a48756ce7b","integrity":"sha256-fARXrF0oSyi3QuouBhoaoqNfYxceRks6frUBpIdWzns="},"flags/4x3/kw-81c3d5d25c7b840ef14783b51d18c6b7cfc61f94932c664bbc9e5879fef020eb.svg":{"logical_path":"flags/4x3/kw.svg","mtime":"2020-01-07T21:15:22+01:00","size":506,"digest":"81c3d5d25c7b840ef14783b51d18c6b7cfc61f94932c664bbc9e5879fef020eb","integrity":"sha256-gcPV0lx7hA7xR4O1HRjGt8/GH5STLGZLvJ5Yef7wIOs="},"flags/1x1/kw-66670211a67a4e61d4652a19d821dc5195f01a28a3a9b28b7e4c6048cd86b19c.svg":{"logical_path":"flags/1x1/kw.svg","mtime":"2020-01-07T21:15:22+01:00","size":510,"digest":"66670211a67a4e61d4652a19d821dc5195f01a28a3a9b28b7e4c6048cd86b19c","integrity":"sha256-ZmcCEaZ6TmHUZSoZ2CHcUZXwGiijqbKLfkxgSM2GsZw="},"flags/4x3/ky-0f4ab66d951ae33f800d680aaa5704804ba9c8844d4d80e5bee2e3fa0e100af3.svg":{"logical_path":"flags/4x3/ky.svg","mtime":"2020-01-07T21:15:22+01:00","size":21886,"digest":"0f4ab66d951ae33f800d680aaa5704804ba9c8844d4d80e5bee2e3fa0e100af3","integrity":"sha256-D0q2bZUa4z+ADWgKqlcEgEupyIRNTYDlvuLj+g4QCvM="},"flags/1x1/ky-fb5f57bb58b74d23377bad9954a75ab88d1587af68546ce137a6ae7a88a7701e.svg":{"logical_path":"flags/1x1/ky.svg","mtime":"2020-01-07T21:15:22+01:00","size":22495,"digest":"fb5f57bb58b74d23377bad9954a75ab88d1587af68546ce137a6ae7a88a7701e","integrity":"sha256-+19Xu1i3TSM3e62ZVKdauI0Vh69oVGzhN6aueoincB4="},"flags/4x3/kz-39edc952c598c71be2c9510944a8faf708d8e4b367b5ad78a688d1cd37f522eb.svg":{"logical_path":"flags/4x3/kz.svg","mtime":"2020-01-07T21:15:22+01:00","size":11339,"digest":"39edc952c598c71be2c9510944a8faf708d8e4b367b5ad78a688d1cd37f522eb","integrity":"sha256-Oe3JUsWYxxviyVEJRKj69wjY5LNnta14pojRzTf1Ius="},"flags/1x1/kz-924c04dc19267b049f35213af0e2b0c540933c06389433cb4aacd8dda33b286c.svg":{"logical_path":"flags/1x1/kz.svg","mtime":"2020-01-07T21:15:22+01:00","size":11433,"digest":"924c04dc19267b049f35213af0e2b0c540933c06389433cb4aacd8dda33b286c","integrity":"sha256-kkwE3BkmewSfNSE68OKwxUCTPAY4lDPLSqzY3aM7KGw="},"flags/4x3/la-e3a36a3bd0003442c3a21d3a192995fa6fb3b3c08a2daadc8f38f62736b5b1e3.svg":{"logical_path":"flags/4x3/la.svg","mtime":"2020-01-07T21:15:22+01:00","size":457,"digest":"e3a36a3bd0003442c3a21d3a192995fa6fb3b3c08a2daadc8f38f62736b5b1e3","integrity":"sha256-46NqO9AANELDoh06GSmV+m+zs8CKLarcjzj2Jza1seM="},"flags/1x1/la-c9d4223a897e5e2938a4892bbc593d3828093b9439fc3f6de21520e4013ddbc5.svg":{"logical_path":"flags/1x1/la.svg","mtime":"2020-01-07T21:15:22+01:00","size":507,"digest":"c9d4223a897e5e2938a4892bbc593d3828093b9439fc3f6de21520e4013ddbc5","integrity":"sha256-ydQiOol+Xik4pIkrvFk9OCgJO5Q5/D9t4hUg5AE928U="},"flags/4x3/lb-508c2a5a9b50d604895675b9f1c1e5914c394a7f468f5d823eb0476acaacbc7f.svg":{"logical_path":"flags/4x3/lb.svg","mtime":"2020-01-07T21:15:22+01:00","size":2814,"digest":"508c2a5a9b50d604895675b9f1c1e5914c394a7f468f5d823eb0476acaacbc7f","integrity":"sha256-UIwqWptQ1gSJVnW58cHlkUw5Sn9Gj12CPrBHasqsvH8="},"flags/1x1/lb-10c9ba8ea7aa3189f16a7273c837982a887fc4ddfc9d514d8f5a660d72356f7f.svg":{"logical_path":"flags/1x1/lb.svg","mtime":"2020-01-07T21:15:22+01:00","size":2754,"digest":"10c9ba8ea7aa3189f16a7273c837982a887fc4ddfc9d514d8f5a660d72356f7f","integrity":"sha256-EMm6jqeqMYnxanJzyDeYKoh/xN38nVFNj1pmDXI1b38="},"flags/4x3/lc-04ccd92fb1578654181febaea30ebd6b6620f56115730b2a2d673c712307bf5c.svg":{"logical_path":"flags/4x3/lc.svg","mtime":"2020-01-07T21:15:22+01:00","size":373,"digest":"04ccd92fb1578654181febaea30ebd6b6620f56115730b2a2d673c712307bf5c","integrity":"sha256-BMzZL7FXhlQYH+uuow69a2Yg9WEVcwsqLWc8cSMHv1w="},"flags/1x1/lc-4ffb53afb8bd296d526ac26fd8007afc74855e92833a893d3c934a5d12eb152a.svg":{"logical_path":"flags/1x1/lc.svg","mtime":"2020-01-07T21:15:22+01:00","size":373,"digest":"4ffb53afb8bd296d526ac26fd8007afc74855e92833a893d3c934a5d12eb152a","integrity":"sha256-T/tTr7i9KW1SasJv2AB6/HSFXpKDOok9PJNKXRLrFSo="},"flags/4x3/li-3058dc4aeaf2bd2da8cb910892137d732b56e5e9d342e565a4059de1a8e40e40.svg":{"logical_path":"flags/4x3/li.svg","mtime":"2020-01-07T21:15:22+01:00","size":8327,"digest":"3058dc4aeaf2bd2da8cb910892137d732b56e5e9d342e565a4059de1a8e40e40","integrity":"sha256-MFjcSuryvS2oy5EIkhN9cytW5enTQuVlpAWd4ajkDkA="},"flags/1x1/li-0780a4f218b9ee466e33d14274b8a01575a86b3787b347e3269a3b301c220d5f.svg":{"logical_path":"flags/1x1/li.svg","mtime":"2020-01-07T21:15:22+01:00","size":8350,"digest":"0780a4f218b9ee466e33d14274b8a01575a86b3787b347e3269a3b301c220d5f","integrity":"sha256-B4Ck8hi57kZuM9FCdLigFXWoazeHs0fjJpo7MBwiDV8="},"flags/4x3/lk-a13d6ab1da51be3b1d2c5b80f4d866c923d42b017e197469e1bfc0dd021c4bfe.svg":{"logical_path":"flags/4x3/lk.svg","mtime":"2020-01-07T21:15:22+01:00","size":11333,"digest":"a13d6ab1da51be3b1d2c5b80f4d866c923d42b017e197469e1bfc0dd021c4bfe","integrity":"sha256-oT1qsdpRvjsdLFuA9NhmySPUKwF+GXRp4b/A3QIcS/4="},"flags/1x1/lk-99759363f0df6b868fd1398bf05666c680bafe1eeec8b859b64d450930213e02.svg":{"logical_path":"flags/1x1/lk.svg","mtime":"2020-01-07T21:15:22+01:00","size":11345,"digest":"99759363f0df6b868fd1398bf05666c680bafe1eeec8b859b64d450930213e02","integrity":"sha256-mXWTY/Dfa4aP0TmL8FZmxoC6/h7uyLhZtk1FCTAhPgI="},"flags/4x3/lr-b06a1d70899826b305ce387fa31e1fa0bdb3bcb17c1392f15f995ce1dba723cf.svg":{"logical_path":"flags/4x3/lr.svg","mtime":"2020-01-07T21:15:22+01:00","size":724,"digest":"b06a1d70899826b305ce387fa31e1fa0bdb3bcb17c1392f15f995ce1dba723cf","integrity":"sha256-sGodcImYJrMFzjh/ox4foL2zvLF8E5LxX5lc4dunI88="},"flags/1x1/lr-820a9d023e5b1e68ed640bfaba8f84ad4379c42a6c5c982cb76b0390dd2bcbdd.svg":{"logical_path":"flags/1x1/lr.svg","mtime":"2020-01-07T21:15:22+01:00","size":697,"digest":"820a9d023e5b1e68ed640bfaba8f84ad4379c42a6c5c982cb76b0390dd2bcbdd","integrity":"sha256-ggqdAj5bHmjtZAv6uo+ErUN5xCpsXJgst2sDkN0ry90="},"flags/4x3/ls-d02bcefe7c298c153665f35c33eedb08e2e2b345350e4bf1714a87abf86b2d0e.svg":{"logical_path":"flags/4x3/ls.svg","mtime":"2020-01-07T21:15:22+01:00","size":1222,"digest":"d02bcefe7c298c153665f35c33eedb08e2e2b345350e4bf1714a87abf86b2d0e","integrity":"sha256-0CvO/nwpjBU2ZfNcM+7bCOLis0U1DkvxcUqHq/hrLQ4="},"flags/1x1/ls-85c731c313a46db12bdb27fe229e9f7d052b447c624663b73ffa1dbab97f03fb.svg":{"logical_path":"flags/1x1/ls.svg","mtime":"2020-01-07T21:15:22+01:00","size":1245,"digest":"85c731c313a46db12bdb27fe229e9f7d052b447c624663b73ffa1dbab97f03fb","integrity":"sha256-hccxwxOkbbEr2yf+Ip6ffQUrRHxiRmO3P/odurl/A/s="},"flags/4x3/lt-c08eb18a15d2003cb544432b11c5081d3d5741370669b4df306d1c6bce14cb51.svg":{"logical_path":"flags/4x3/lt.svg","mtime":"2020-01-07T21:15:22+01:00","size":445,"digest":"c08eb18a15d2003cb544432b11c5081d3d5741370669b4df306d1c6bce14cb51","integrity":"sha256-wI6xihXSADy1REMrEcUIHT1XQTcGabTfMG0ca84Uy1E="},"flags/1x1/lt-c1bd7e3d289ac9b0df06d47237780eaf4d30f01281ed50a7df9a22bc3a2489c5.svg":{"logical_path":"flags/1x1/lt.svg","mtime":"2020-01-07T21:15:22+01:00","size":445,"digest":"c1bd7e3d289ac9b0df06d47237780eaf4d30f01281ed50a7df9a22bc3a2489c5","integrity":"sha256-wb1+PSiaybDfBtRyN3gOr00w8BKB7VCn35oivDokicU="},"flags/4x3/lu-99e7b6adb3a9e0f867b17eb3b1f0f33db92fd27cfd7b651f62453f359bace22f.svg":{"logical_path":"flags/4x3/lu.svg","mtime":"2020-01-07T21:15:22+01:00","size":231,"digest":"99e7b6adb3a9e0f867b17eb3b1f0f33db92fd27cfd7b651f62453f359bace22f","integrity":"sha256-mee2rbOp4PhnsX6zsfDzPbkv0nz9e2UfYkU/NZus4i8="},"flags/1x1/lu-ab544445f16afa450549288ac86c2cc9a458a9d7747b3a89d5ecef7db9c83ce7.svg":{"logical_path":"flags/1x1/lu.svg","mtime":"2020-01-07T21:15:22+01:00","size":235,"digest":"ab544445f16afa450549288ac86c2cc9a458a9d7747b3a89d5ecef7db9c83ce7","integrity":"sha256-q1RERfFq+kUFSSiKyGwsyaRYqdd0ezqJ1ezvfbnIPOc="},"flags/4x3/lv-f8844d50b89f0369f73d580d3676553e7e55dd8ab2460e592a29a530d9bed886.svg":{"logical_path":"flags/4x3/lv.svg","mtime":"2020-01-07T21:15:22+01:00","size":236,"digest":"f8844d50b89f0369f73d580d3676553e7e55dd8ab2460e592a29a530d9bed886","integrity":"sha256-+IRNULifA2n3PVgNNnZVPn5V3YqyRg5ZKimlMNm+2IY="},"flags/1x1/lv-baeced49dd4249e36a25b0f23a5c601a69e9dee3137627cd4450194b85a99dd4.svg":{"logical_path":"flags/1x1/lv.svg","mtime":"2020-01-07T21:15:22+01:00","size":240,"digest":"baeced49dd4249e36a25b0f23a5c601a69e9dee3137627cd4450194b85a99dd4","integrity":"sha256-uuztSd1CSeNqJbDyOlxgGmnp3uMTdifNRFAZS4WpndQ="},"flags/4x3/ly-03209121483967f9d74849fb9261de23e9ff2e02c4e40b29f1cda0631b8a5fae.svg":{"logical_path":"flags/4x3/ly.svg","mtime":"2020-01-07T21:15:22+01:00","size":534,"digest":"03209121483967f9d74849fb9261de23e9ff2e02c4e40b29f1cda0631b8a5fae","integrity":"sha256-AyCRIUg5Z/nXSEn7kmHeI+n/LgLE5Asp8c2gYxuKX64="},"flags/1x1/ly-1e6e070aaa4bfc97a5a446a39bf746ab3c4c81d9f62c975cab164e16de3a3ffe.svg":{"logical_path":"flags/1x1/ly.svg","mtime":"2020-01-07T21:15:22+01:00","size":533,"digest":"1e6e070aaa4bfc97a5a446a39bf746ab3c4c81d9f62c975cab164e16de3a3ffe","integrity":"sha256-Hm4HCqpL/JelpEajm/dGqzxMgdn2LJdcqxZOFt46P/4="},"flags/4x3/ma-9a25cc7c2868fa45b251dd1b99a0be3b583df69732146142020fe9c6c0c95b63.svg":{"logical_path":"flags/4x3/ma.svg","mtime":"2020-01-07T21:15:22+01:00","size":253,"digest":"9a25cc7c2868fa45b251dd1b99a0be3b583df69732146142020fe9c6c0c95b63","integrity":"sha256-miXMfCho+kWyUd0bmaC+O1g99pcyFGFCAg/pxsDJW2M="},"flags/1x1/ma-4f18b9c355b8b8bf0db69badb235a183dbd558deb6439bf03b4f18e56837a7f3.svg":{"logical_path":"flags/1x1/ma.svg","mtime":"2020-01-07T21:15:22+01:00","size":253,"digest":"4f18b9c355b8b8bf0db69badb235a183dbd558deb6439bf03b4f18e56837a7f3","integrity":"sha256-Txi5w1W4uL8NtputsjWhg9vVWN62Q5vwO08Y5Wg3p/M="},"flags/4x3/mc-b0c50599ea2a550680a6a867579930e0b47d3e05193a7294a26b7849a7ad35e2.svg":{"logical_path":"flags/4x3/mc.svg","mtime":"2020-01-07T21:15:22+01:00","size":240,"digest":"b0c50599ea2a550680a6a867579930e0b47d3e05193a7294a26b7849a7ad35e2","integrity":"sha256-sMUFmeoqVQaApqhnV5kw4LR9PgUZOnKUomt4SaetNeI="},"flags/1x1/mc-8f1fe6210338399d8791d91f39234b1a09acf2aa5e0387696048dc7068534a28.svg":{"logical_path":"flags/1x1/mc.svg","mtime":"2020-01-07T21:15:22+01:00","size":240,"digest":"8f1fe6210338399d8791d91f39234b1a09acf2aa5e0387696048dc7068534a28","integrity":"sha256-jx/mIQM4OZ2HkdkfOSNLGgms8qpeA4dpYEjccGhTSig="},"flags/4x3/md-8849eef7bdf916e962f7bb31af87c8d47aef33f9f4a2017b2ce55c4166e79643.svg":{"logical_path":"flags/4x3/md.svg","mtime":"2020-01-07T21:15:22+01:00","size":11283,"digest":"8849eef7bdf916e962f7bb31af87c8d47aef33f9f4a2017b2ce55c4166e79643","integrity":"sha256-iEnu9735Fuli97sxr4fI1HrvM/n0ogF7LOVcQWbnlkM="},"flags/1x1/md-43f1bb4157545abe6e79215459efb548d913bbe7922078cd40cb722a4e19d9b4.svg":{"logical_path":"flags/1x1/md.svg","mtime":"2020-01-07T21:15:22+01:00","size":11387,"digest":"43f1bb4157545abe6e79215459efb548d913bbe7922078cd40cb722a4e19d9b4","integrity":"sha256-Q/G7QVdUWr5ueSFUWe+1SNkTu+eSIHjNQMtyKk4Z2bQ="},"flags/4x3/me-983d452d43cfb8d628bfc5c0cf4991c2ba3cf0e39e70aa5353cfd4e9ec3da62d.svg":{"logical_path":"flags/4x3/me.svg","mtime":"2020-01-07T21:15:22+01:00","size":63177,"digest":"983d452d43cfb8d628bfc5c0cf4991c2ba3cf0e39e70aa5353cfd4e9ec3da62d","integrity":"sha256-mD1FLUPPuNYov8XAz0mRwro88OOecKpTU8/U6ew9pi0="},"flags/1x1/me-104d6a96038ef06d3d8b89c9221996f3649b5b821139b11b2e07695b0f6fda2f.svg":{"logical_path":"flags/1x1/me.svg","mtime":"2020-01-07T21:15:22+01:00","size":64191,"digest":"104d6a96038ef06d3d8b89c9221996f3649b5b821139b11b2e07695b0f6fda2f","integrity":"sha256-EE1qlgOO8G09i4nJIhmW82SbW4IRObEbLgdpWw9v2i8="},"flags/4x3/mf-31fb851bfcc2340d2fa43e86a099cc7becfc8e7f996a4d2ca56bd050e6537086.svg":{"logical_path":"flags/4x3/mf.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"31fb851bfcc2340d2fa43e86a099cc7becfc8e7f996a4d2ca56bd050e6537086","integrity":"sha256-MfuFG/zCNA0vpD6GoJnMe+z8jn+Zak0spWvQUOZTcIY="},"flags/1x1/mf-fe20ce9bf911631d6e79edf21c8cff0716f2dc1ffded39515735444d9a66fa55.svg":{"logical_path":"flags/1x1/mf.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"fe20ce9bf911631d6e79edf21c8cff0716f2dc1ffded39515735444d9a66fa55","integrity":"sha256-/iDOm/kRYx1uee3yHIz/Bxby3B/97TlRVzVETZpm+lU="},"flags/4x3/mg-5effe963e29f804a26f95dbbc9519add454a0fd9eb918ddfeb55e1e99a1a2701.svg":{"logical_path":"flags/4x3/mg.svg","mtime":"2020-01-07T21:15:22+01:00","size":305,"digest":"5effe963e29f804a26f95dbbc9519add454a0fd9eb918ddfeb55e1e99a1a2701","integrity":"sha256-Xv/pY+KfgEom+V27yVGa3UVKD9nrkY3f61Xh6ZoaJwE="},"flags/1x1/mg-9e546cfb78810d9b25c814a84aadd6907880b8e0cdd2e4e30738b519e7c1ac91.svg":{"logical_path":"flags/1x1/mg.svg","mtime":"2020-01-07T21:15:22+01:00","size":305,"digest":"9e546cfb78810d9b25c814a84aadd6907880b8e0cdd2e4e30738b519e7c1ac91","integrity":"sha256-nlRs+3iBDZslyBSoSq3WkHiAuODN0uTjBzi1GefBrJE="},"flags/4x3/mh-d8cfd123007dbb99aa700c335957926a6d5e877ab49680c79629a32716d7a782.svg":{"logical_path":"flags/4x3/mh.svg","mtime":"2020-01-07T21:15:22+01:00","size":744,"digest":"d8cfd123007dbb99aa700c335957926a6d5e877ab49680c79629a32716d7a782","integrity":"sha256-2M/RIwB9u5mqcAwzWVeSam1eh3q0loDHlimjJxbXp4I="},"flags/1x1/mh-3fe03d4d063a4729fc8b68fd5e9d7d2eef6e65c4e82954c83f76b138cea2eb45.svg":{"logical_path":"flags/1x1/mh.svg","mtime":"2020-01-07T21:15:22+01:00","size":767,"digest":"3fe03d4d063a4729fc8b68fd5e9d7d2eef6e65c4e82954c83f76b138cea2eb45","integrity":"sha256-P+A9TQY6Ryn8i2j9Xp19Lu9uZcToKVTIP3axOM6i60U="},"flags/4x3/mk-6e8071d15f2ff125d30bf89d000dcb47db9545cf9b7ff04f1474650ec2f4d25c.svg":{"logical_path":"flags/4x3/mk.svg","mtime":"2020-01-07T21:15:22+01:00","size":385,"digest":"6e8071d15f2ff125d30bf89d000dcb47db9545cf9b7ff04f1474650ec2f4d25c","integrity":"sha256-boBx0V8v8SXTC/idAA3LR9uVRc+bf/BPFHRlDsL00lw="},"flags/1x1/mk-fdc9212f9f311cbface56b6587468a2e845111b697edc11b7edda9fcf100c1d5.svg":{"logical_path":"flags/1x1/mk.svg","mtime":"2020-01-07T21:15:22+01:00","size":413,"digest":"fdc9212f9f311cbface56b6587468a2e845111b697edc11b7edda9fcf100c1d5","integrity":"sha256-/ckhL58xHL+s5Wtlh0aKLoRREbaX7cEbft2p/PEAwdU="},"flags/4x3/ml-a730102e0c6f6362de9c10ef8da6cf7b123465d01a297e7a89808b01fa4771cd.svg":{"logical_path":"flags/4x3/ml.svg","mtime":"2020-01-07T21:15:22+01:00","size":279,"digest":"a730102e0c6f6362de9c10ef8da6cf7b123465d01a297e7a89808b01fa4771cd","integrity":"sha256-pzAQLgxvY2LenBDvjabPexI0ZdAaKX56iYCLAfpHcc0="},"flags/1x1/ml-a661355da206b0cb7ac4c84b6cdf7e411fbca8fcb271ae999fa60d5c67578192.svg":{"logical_path":"flags/1x1/ml.svg","mtime":"2020-01-07T21:15:22+01:00","size":282,"digest":"a661355da206b0cb7ac4c84b6cdf7e411fbca8fcb271ae999fa60d5c67578192","integrity":"sha256-pmE1XaIGsMt6xMhLbN9+QR+8qPyyca6Zn6YNXGdXgZI="},"flags/4x3/mm-6d0d207d662477110f2b863488088818d8400386358dcbc669a2d8c54d1bae16.svg":{"logical_path":"flags/4x3/mm.svg","mtime":"2020-01-07T21:15:22+01:00","size":851,"digest":"6d0d207d662477110f2b863488088818d8400386358dcbc669a2d8c54d1bae16","integrity":"sha256-bQ0gfWYkdxEPK4Y0iAiIGNhAA4Y1jcvGaaLYxU0brhY="},"flags/1x1/mm-de7d46b6543343af61ba997045cb41a707bd0db1e7a5879971ca8fddcbdf9e99.svg":{"logical_path":"flags/1x1/mm.svg","mtime":"2020-01-07T21:15:22+01:00","size":868,"digest":"de7d46b6543343af61ba997045cb41a707bd0db1e7a5879971ca8fddcbdf9e99","integrity":"sha256-3n1GtlQzQ69huplwRctBpwe9DbHnpYeZccqP3cvfnpk="},"flags/4x3/mn-656eb51e88bfce82401e4080eb791ddf16d571cbba102cdd4316c5de4711ac65.svg":{"logical_path":"flags/4x3/mn.svg","mtime":"2020-01-07T21:15:22+01:00","size":1256,"digest":"656eb51e88bfce82401e4080eb791ddf16d571cbba102cdd4316c5de4711ac65","integrity":"sha256-ZW61Hoi/zoJAHkCA63kd3xbVccu6ECzdQxbF3kcRrGU="},"flags/1x1/mn-ad22cb2c195a7d8ca8e4174db011d5f58238ee25039b5b2da2649d8ca8b00123.svg":{"logical_path":"flags/1x1/mn.svg","mtime":"2020-01-07T21:15:22+01:00","size":1263,"digest":"ad22cb2c195a7d8ca8e4174db011d5f58238ee25039b5b2da2649d8ca8b00123","integrity":"sha256-rSLLLBlafYyo5BdNsBHV9YI47iUDm1stomSdjKiwASM="},"flags/4x3/mo-37a1088aa687af13951bc93886e3e51cb246eccfde1b56528f189327ea291792.svg":{"logical_path":"flags/4x3/mo.svg","mtime":"2020-01-07T21:15:22+01:00","size":1516,"digest":"37a1088aa687af13951bc93886e3e51cb246eccfde1b56528f189327ea291792","integrity":"sha256-N6EIiqaHrxOVG8k4huPlHLJG7M/eG1ZSjxiTJ+opF5I="},"flags/1x1/mo-b463a1c37b69131d662e3fb2ae937583458824a09bcf68fc7ed2d7fd729138d1.svg":{"logical_path":"flags/1x1/mo.svg","mtime":"2020-01-07T21:15:22+01:00","size":1550,"digest":"b463a1c37b69131d662e3fb2ae937583458824a09bcf68fc7ed2d7fd729138d1","integrity":"sha256-tGOhw3tpEx1mLj+yrpN1g0WIJKCbz2j8ftLX/XKRONE="},"flags/4x3/mp-ecd12cadc358fdf293e856c0a3ffc09409123cabd3c7201225b2d21b59551e14.svg":{"logical_path":"flags/4x3/mp.svg","mtime":"2020-01-07T21:15:22+01:00","size":23425,"digest":"ecd12cadc358fdf293e856c0a3ffc09409123cabd3c7201225b2d21b59551e14","integrity":"sha256-7NEsrcNY/fKT6FbAo//AlAkSPKvTxyASJbLSG1lVHhQ="},"flags/1x1/mp-d1f4ba10c1409e713253f1fbb107eeccbd4ec1a8f9036663f1ac1991aee53835.svg":{"logical_path":"flags/1x1/mp.svg","mtime":"2020-01-07T21:15:22+01:00","size":23663,"digest":"d1f4ba10c1409e713253f1fbb107eeccbd4ec1a8f9036663f1ac1991aee53835","integrity":"sha256-0fS6EMFAnnEyU/H7sQfuzL1Owaj5A2Zj8awZka7lODU="},"flags/4x3/mq-b4e1b08a93c1364c79e6d61f95b16fca5b884da6e77835bc0e0adfff8ecc2d7f.svg":{"logical_path":"flags/4x3/mq.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"b4e1b08a93c1364c79e6d61f95b16fca5b884da6e77835bc0e0adfff8ecc2d7f","integrity":"sha256-tOGwipPBNkx55tYflbFvyluITabneDW8Dgrf/47MLX8="},"flags/1x1/mq-19cb6f7cb7354c3fd40e987c93a2d76329d34b2ed3873c3f25fe56802f251ea8.svg":{"logical_path":"flags/1x1/mq.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"19cb6f7cb7354c3fd40e987c93a2d76329d34b2ed3873c3f25fe56802f251ea8","integrity":"sha256-GctvfLc1TD/UDph8k6LXYynTSy7Thzw/Jf5WgC8lHqg="},"flags/4x3/mr-9f64af3ed5c6d8d1f68b5cb09fd1aa9d28c3c95107e063f64a0ef95f0cb9429a.svg":{"logical_path":"flags/4x3/mr.svg","mtime":"2020-01-07T21:15:22+01:00","size":450,"digest":"9f64af3ed5c6d8d1f68b5cb09fd1aa9d28c3c95107e063f64a0ef95f0cb9429a","integrity":"sha256-n2SvPtXG2NH2i1ywn9GqnSjDyVEH4GP2Sg75Xwy5Qpo="},"flags/1x1/mr-0e79b7bcc669bb871d94021db2b78b162b9867c7eaf934d8f7a3025fd5903576.svg":{"logical_path":"flags/1x1/mr.svg","mtime":"2020-01-07T21:15:22+01:00","size":438,"digest":"0e79b7bcc669bb871d94021db2b78b162b9867c7eaf934d8f7a3025fd5903576","integrity":"sha256-Dnm3vMZpu4cdlAIdsreLFiuYZ8fq+TTY96MCX9WQNXY="},"flags/4x3/ms-32620dd70353777b2ee62951556976f398cd38ae359b5a8c97311a1dc61eb8bc.svg":{"logical_path":"flags/4x3/ms.svg","mtime":"2020-01-07T21:15:22+01:00","size":6792,"digest":"32620dd70353777b2ee62951556976f398cd38ae359b5a8c97311a1dc61eb8bc","integrity":"sha256-MmIN1wNTd3su5ilRVWl285jNOK41m1qMlzEaHcYeuLw="},"flags/1x1/ms-4104d4f36cb5cf1c6de78e52e90bc3c5b8bfa262617b16a737673feb8c30a00c.svg":{"logical_path":"flags/1x1/ms.svg","mtime":"2020-01-07T21:15:22+01:00","size":6700,"digest":"4104d4f36cb5cf1c6de78e52e90bc3c5b8bfa262617b16a737673feb8c30a00c","integrity":"sha256-QQTU82y1zxxt545S6QvDxbi/omJhexanN2c/64wwoAw="},"flags/4x3/mt-0c9819aa69b34b84c1ee43620922737122eb38f107be9864a0690ac66ef8aa64.svg":{"logical_path":"flags/4x3/mt.svg","mtime":"2020-01-07T21:15:22+01:00","size":8807,"digest":"0c9819aa69b34b84c1ee43620922737122eb38f107be9864a0690ac66ef8aa64","integrity":"sha256-DJgZqmmzS4TB7kNiCSJzcSLrOPEHvphkoGkKxm74qmQ="},"flags/1x1/mt-3c3fe71f2a2bf0d961fd145ad7e48ca1e9d3a05cce514354714ba4568503d106.svg":{"logical_path":"flags/1x1/mt.svg","mtime":"2020-01-07T21:15:22+01:00","size":10519,"digest":"3c3fe71f2a2bf0d961fd145ad7e48ca1e9d3a05cce514354714ba4568503d106","integrity":"sha256-PD/nHyor8Nlh/RRa1+SMoenToFzOUUNUcUukVoUD0QY="},"flags/4x3/mu-c78c23f1499756b9db762ae434ca354d1481447fa94c66bc10aca9443b399059.svg":{"logical_path":"flags/4x3/mu.svg","mtime":"2020-01-07T21:15:22+01:00","size":322,"digest":"c78c23f1499756b9db762ae434ca354d1481447fa94c66bc10aca9443b399059","integrity":"sha256-x4wj8UmXVrnbdirkNMo1TRSBRH+pTGa8EKypRDs5kFk="},"flags/1x1/mu-91ebc79d0fa306127ea8b7a33f77d5b28f35c516ea91ff0468c7344dc838db69.svg":{"logical_path":"flags/1x1/mu.svg","mtime":"2020-01-07T21:15:22+01:00","size":322,"digest":"91ebc79d0fa306127ea8b7a33f77d5b28f35c516ea91ff0468c7344dc838db69","integrity":"sha256-kevHnQ+jBhJ+qLejP3fVso81xRbqkf8EaMc0Tcg422k="},"flags/4x3/mv-a17c947e17adae6aacef01a3e131c4150aa094911b53fbaead41783683e008eb.svg":{"logical_path":"flags/4x3/mv.svg","mtime":"2020-01-07T21:15:22+01:00","size":292,"digest":"a17c947e17adae6aacef01a3e131c4150aa094911b53fbaead41783683e008eb","integrity":"sha256-oXyUfhetrmqs7wGj4THEFQqglJEbU/uurUF4NoPgCOs="},"flags/1x1/mv-d138e94d9d2ed093ef1425c1164493b780202f9a7f7937241a7b081b79ff8b01.svg":{"logical_path":"flags/1x1/mv.svg","mtime":"2020-01-07T21:15:22+01:00","size":310,"digest":"d138e94d9d2ed093ef1425c1164493b780202f9a7f7937241a7b081b79ff8b01","integrity":"sha256-0TjpTZ0u0JPvFCXBFkSTt4AgL5p/eTckGnsIG3n/iwE="},"flags/4x3/mw-21f116afdf71df80e3c59084c6ba640814fa5389430328ff55c9403b5c239632.svg":{"logical_path":"flags/4x3/mw.svg","mtime":"2020-01-07T21:15:22+01:00","size":3721,"digest":"21f116afdf71df80e3c59084c6ba640814fa5389430328ff55c9403b5c239632","integrity":"sha256-IfEWr99x34DjxZCExrpkCBT6U4lDAyj/VclAO1wjljI="},"flags/1x1/mw-5c2228d3f1cf1f9cf8cb158e813202981828c11e8caf117836fc57fa6bc1c788.svg":{"logical_path":"flags/1x1/mw.svg","mtime":"2020-01-07T21:15:22+01:00","size":3930,"digest":"5c2228d3f1cf1f9cf8cb158e813202981828c11e8caf117836fc57fa6bc1c788","integrity":"sha256-XCIo0/HPH5z4yxWOgTICmBgowR6MrxF4NvxX+mvBx4g="},"flags/4x3/mx-a235f9b16921590b7e78caa6f76339361356946eaf0046badd10732b4647c0b6.svg":{"logical_path":"flags/4x3/mx.svg","mtime":"2020-01-07T21:15:22+01:00","size":95864,"digest":"a235f9b16921590b7e78caa6f76339361356946eaf0046badd10732b4647c0b6","integrity":"sha256-ojX5sWkhWQt+eMqm92M5NhNWlG6vAEa63RBzK0ZHwLY="},"flags/1x1/mx-cdab01ebcdccc020ca16e1355ef1fd18ca0043b501f399ca8edc48adfa8c7292.svg":{"logical_path":"flags/1x1/mx.svg","mtime":"2020-01-07T21:15:22+01:00","size":91341,"digest":"cdab01ebcdccc020ca16e1355ef1fd18ca0043b501f399ca8edc48adfa8c7292","integrity":"sha256-zasB683MwCDKFuE1XvH9GMoAQ7UB85nKjtxIrfqMcpI="},"flags/4x3/my-0ed63574cf5f20c0663ab8cd1f700e150fb641fd0b93602ba013abbfaae5ee59.svg":{"logical_path":"flags/4x3/my.svg","mtime":"2020-01-07T21:15:22+01:00","size":1284,"digest":"0ed63574cf5f20c0663ab8cd1f700e150fb641fd0b93602ba013abbfaae5ee59","integrity":"sha256-DtY1dM9fIMBmOrjNH3AOFQ+2Qf0Lk2AroBOrv6rl7lk="},"flags/1x1/my-5e8d31ef06ffc8af33a5616d760592ecd022c52afc8ba33c721f1e4989da0628.svg":{"logical_path":"flags/1x1/my.svg","mtime":"2020-01-07T21:15:22+01:00","size":1275,"digest":"5e8d31ef06ffc8af33a5616d760592ecd022c52afc8ba33c721f1e4989da0628","integrity":"sha256-Xo0x7wb/yK8zpWFtdgWS7NAixSr8i6M8ch8eSYnaBig="},"flags/4x3/mz-752e2293917b1d2ece3f097104caeadf6a679054a779e9d3be8e49dc324bb88a.svg":{"logical_path":"flags/4x3/mz.svg","mtime":"2020-01-07T21:15:22+01:00","size":2623,"digest":"752e2293917b1d2ece3f097104caeadf6a679054a779e9d3be8e49dc324bb88a","integrity":"sha256-dS4ik5F7HS7OPwlxBMrq32pnkFSneenTvo5J3DJLuIo="},"flags/1x1/mz-300cba975ad43c962ceca0d266ded1fe3d21d6b4d701d657fb42b27268ea2964.svg":{"logical_path":"flags/1x1/mz.svg","mtime":"2020-01-07T21:15:22+01:00","size":2604,"digest":"300cba975ad43c962ceca0d266ded1fe3d21d6b4d701d657fb42b27268ea2964","integrity":"sha256-MAy6l1rUPJYs7KDSZt7R/j0h1rTXAdZX+0KycmjqKWQ="},"flags/4x3/na-a0655a2e70751278e6a60d31e818f672864a6e68e8b3d3361b2fbb70fa9bfef8.svg":{"logical_path":"flags/4x3/na.svg","mtime":"2020-01-07T21:15:22+01:00","size":1005,"digest":"a0655a2e70751278e6a60d31e818f672864a6e68e8b3d3361b2fbb70fa9bfef8","integrity":"sha256-oGVaLnB1Enjmpg0x6Bj2coZKbmjos9M2Gy+7cPqb/vg="},"flags/1x1/na-1ce089a189db5be15eb05df8155f9bd017b61fc1a497e5b3021ff2ca664e122d.svg":{"logical_path":"flags/1x1/na.svg","mtime":"2020-01-07T21:15:22+01:00","size":983,"digest":"1ce089a189db5be15eb05df8155f9bd017b61fc1a497e5b3021ff2ca664e122d","integrity":"sha256-HOCJoYnbW+FesF34FV+b0Be2H8Gkl+WzAh/yymZOEi0="},"flags/4x3/nc-0c7171d91c44414ed69808611db588f1283ee7e34ea8a74a9a5101ba4b1cb305.svg":{"logical_path":"flags/4x3/nc.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"0c7171d91c44414ed69808611db588f1283ee7e34ea8a74a9a5101ba4b1cb305","integrity":"sha256-DHFx2RxEQU7WmAhhHbWI8Sg+5+NOqKdKmlEBukscswU="},"flags/1x1/nc-d3a1629f06dc3200af7669f2d895fce1908d2c1ca02d71e530bdfa6646a9516c.svg":{"logical_path":"flags/1x1/nc.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"d3a1629f06dc3200af7669f2d895fce1908d2c1ca02d71e530bdfa6646a9516c","integrity":"sha256-06FinwbcMgCvdmny2JX84ZCNLBygLXHlML36ZkapUWw="},"flags/4x3/ne-2b61d30a6cb4554535538e3b753926853e8c629a494a347286b9731c803548e4.svg":{"logical_path":"flags/4x3/ne.svg","mtime":"2020-01-07T21:15:22+01:00","size":279,"digest":"2b61d30a6cb4554535538e3b753926853e8c629a494a347286b9731c803548e4","integrity":"sha256-K2HTCmy0VUU1U447dTkmhT6MYppJSjRyhrlzHIA1SOQ="},"flags/1x1/ne-9c5f798ccd7d3dd3771ae628b4a39dfb2a4578fefd2e006f3ce89c3e494d0cb1.svg":{"logical_path":"flags/1x1/ne.svg","mtime":"2020-01-07T21:15:22+01:00","size":285,"digest":"9c5f798ccd7d3dd3771ae628b4a39dfb2a4578fefd2e006f3ce89c3e494d0cb1","integrity":"sha256-nF95jM19PdN3GuYotKOd+ypFeP79LgBvPOicPklNDLE="},"flags/4x3/nf-4e615baa83a8b4db3e39fe1d251ab913943d64e0cd320f251d619ab54e7512d3.svg":{"logical_path":"flags/4x3/nf.svg","mtime":"2020-01-07T21:15:22+01:00","size":5845,"digest":"4e615baa83a8b4db3e39fe1d251ab913943d64e0cd320f251d619ab54e7512d3","integrity":"sha256-TmFbqoOotNs+Of4dJRq5E5Q9ZODNMg8lHWGatU51EtM="},"flags/1x1/nf-45403247c90050484813acf23c50f543779528e346317274373c3c24fd830103.svg":{"logical_path":"flags/1x1/nf.svg","mtime":"2020-01-07T21:15:22+01:00","size":5598,"digest":"45403247c90050484813acf23c50f543779528e346317274373c3c24fd830103","integrity":"sha256-RUAyR8kAUEhIE6zyPFD1Q3eVKONGMXJ0Nzw8JP2DAQM="},"flags/4x3/ng-d52fd188be973f31dd34e5a0b3fed0de68fe736c8a41c6028d9c248c038c8641.svg":{"logical_path":"flags/4x3/ng.svg","mtime":"2020-01-07T21:15:22+01:00","size":263,"digest":"d52fd188be973f31dd34e5a0b3fed0de68fe736c8a41c6028d9c248c038c8641","integrity":"sha256-1S/RiL6XPzHdNOWgs/7Q3mj+c2yKQcYCjZwkjAOMhkE="},"flags/1x1/ng-f22edcc5867554d69ecbe15add0fbbb1389631f3ced07a4f820065c7770c65f5.svg":{"logical_path":"flags/1x1/ng.svg","mtime":"2020-01-07T21:15:22+01:00","size":263,"digest":"f22edcc5867554d69ecbe15add0fbbb1389631f3ced07a4f820065c7770c65f5","integrity":"sha256-8i7cxYZ1VNaey+Fa3Q+7sTiWMfPO0HpPggBlx3cMZfU="},"flags/4x3/ni-2fbb883e46fbe3b2ecfed9dac004ceb546f25c77a84a5966eea224674aebc610.svg":{"logical_path":"flags/4x3/ni.svg","mtime":"2020-01-07T21:15:22+01:00","size":18584,"digest":"2fbb883e46fbe3b2ecfed9dac004ceb546f25c77a84a5966eea224674aebc610","integrity":"sha256-L7uIPkb747Ls/tnawATOtUbyXHeoSllm7qIkZ0rrxhA="},"flags/1x1/ni-214aed148b615c4846f842b47f99cf178ac62a96cf18c5dd6b23467184b56680.svg":{"logical_path":"flags/1x1/ni.svg","mtime":"2020-01-07T21:15:22+01:00","size":18664,"digest":"214aed148b615c4846f842b47f99cf178ac62a96cf18c5dd6b23467184b56680","integrity":"sha256-IUrtFIthXEhG+EK0f5nPF4rGKpbPGMXdayNGcYS1ZoA="},"flags/4x3/nl-4f0ecea529dd4c0099dd41a7801fa5ac44aa04cd872ca31e11efd58b5a813774.svg":{"logical_path":"flags/4x3/nl.svg","mtime":"2020-01-07T21:15:22+01:00","size":367,"digest":"4f0ecea529dd4c0099dd41a7801fa5ac44aa04cd872ca31e11efd58b5a813774","integrity":"sha256-Tw7OpSndTACZ3UGngB+lrESqBM2HLKMeEe/Vi1qBN3Q="},"flags/1x1/nl-9c8f60e638879d642487818975e58c61cd3102f0e68c360708243c076436ff68.svg":{"logical_path":"flags/1x1/nl.svg","mtime":"2020-01-07T21:15:22+01:00","size":375,"digest":"9c8f60e638879d642487818975e58c61cd3102f0e68c360708243c076436ff68","integrity":"sha256-nI9g5jiHnWQkh4GJdeWMYc0xAvDmjDYHCCQ8B2Q2/2g="},"flags/4x3/no-270f7ee9d1d2efa6abf16f693faba8586adae842d79d8aad9e3f37e96c27cbce.svg":{"logical_path":"flags/4x3/no.svg","mtime":"2020-01-07T21:15:22+01:00","size":324,"digest":"270f7ee9d1d2efa6abf16f693faba8586adae842d79d8aad9e3f37e96c27cbce","integrity":"sha256-Jw9+6dHS76ar8W9pP6uoWGra6ELXnYqtnj836Wwny84="},"flags/1x1/no-7d377325e8c5ec4de0376e9f4c13463f183af637e6c443716f22020c7a313979.svg":{"logical_path":"flags/1x1/no.svg","mtime":"2020-01-07T21:15:22+01:00","size":324,"digest":"7d377325e8c5ec4de0376e9f4c13463f183af637e6c443716f22020c7a313979","integrity":"sha256-fTdzJejF7E3gN26fTBNGPxg69jfmxENxbyICDHoxOXk="},"flags/4x3/np-69637ddb3a173c4522a71598278aa32462e1762e34dd99c9dc99a515433a6cf8.svg":{"logical_path":"flags/4x3/np.svg","mtime":"2020-01-07T21:15:22+01:00","size":1061,"digest":"69637ddb3a173c4522a71598278aa32462e1762e34dd99c9dc99a515433a6cf8","integrity":"sha256-aWN92zoXPEUipxWYJ4qjJGLhdi403ZnJ3JmlFUM6bPg="},"flags/1x1/np-44ead118cce3a1fcbb720cc8d6eab6ecb6b62292315f61ae5963a40262ee11d2.svg":{"logical_path":"flags/1x1/np.svg","mtime":"2020-01-07T21:15:22+01:00","size":1199,"digest":"44ead118cce3a1fcbb720cc8d6eab6ecb6b62292315f61ae5963a40262ee11d2","integrity":"sha256-ROrRGMzjofy7cgzI1uq27La2IpIxX2GuWWOkAmLuEdI="},"flags/4x3/nr-0bd3c0ba7bbac4bd5985b838096eeebd67711d39065619ef092fa4bb55b22a6d.svg":{"logical_path":"flags/4x3/nr.svg","mtime":"2020-01-07T21:15:22+01:00","size":648,"digest":"0bd3c0ba7bbac4bd5985b838096eeebd67711d39065619ef092fa4bb55b22a6d","integrity":"sha256-C9PAunu6xL1Zhbg4CW7uvWdxHTkGVhnvCS+ku1WyKm0="},"flags/1x1/nr-63b9c44e5dd66a59895f52707dc24db5bd1eab6e535298d24e414c0f2dafcb3c.svg":{"logical_path":"flags/1x1/nr.svg","mtime":"2020-01-07T21:15:22+01:00","size":671,"digest":"63b9c44e5dd66a59895f52707dc24db5bd1eab6e535298d24e414c0f2dafcb3c","integrity":"sha256-Y7nETl3WalmJX1JwfcJNtb0eq25TUpjSTkFMDy2vyzw="},"flags/4x3/nu-259989e1eea0cbf6b41a33176a4c9c1eaa2e7ae6571ad80a324c6309bd5aa5fc.svg":{"logical_path":"flags/4x3/nu.svg","mtime":"2020-01-07T21:15:22+01:00","size":1748,"digest":"259989e1eea0cbf6b41a33176a4c9c1eaa2e7ae6571ad80a324c6309bd5aa5fc","integrity":"sha256-JZmJ4e6gy/a0GjMXakycHqoueuZXGtgKMkxjCb1apfw="},"flags/1x1/nu-1cb535708f64ed8b386a245e571e677e935009af92f2b214760a2832c1ee1b53.svg":{"logical_path":"flags/1x1/nu.svg","mtime":"2020-01-07T21:15:22+01:00","size":1736,"digest":"1cb535708f64ed8b386a245e571e677e935009af92f2b214760a2832c1ee1b53","integrity":"sha256-HLU1cI9k7Ys4aiReVx5nfpNQCa+S8rIUdgooMsHuG1M="},"flags/4x3/nz-90ceca2a683fbec395a91b77b0880cea99c3b2cbdb24caa5474925cbdcc3675e.svg":{"logical_path":"flags/4x3/nz.svg","mtime":"2020-01-07T21:15:22+01:00","size":3019,"digest":"90ceca2a683fbec395a91b77b0880cea99c3b2cbdb24caa5474925cbdcc3675e","integrity":"sha256-kM7KKmg/vsOVqRt3sIgM6pnDssvbJMqlR0kly9zDZ14="},"flags/1x1/nz-b0d78f165a72edd46599222a2ea5f6a91a8252975cb03e33c4ca08e389859aac.svg":{"logical_path":"flags/1x1/nz.svg","mtime":"2020-01-07T21:15:22+01:00","size":3045,"digest":"b0d78f165a72edd46599222a2ea5f6a91a8252975cb03e33c4ca08e389859aac","integrity":"sha256-sNePFlpy7dRlmSIqLqX2qRqCUpdcsD4zxMoI44mFmqw="},"flags/4x3/om-aadcca7bc7ad318400097b84849dd64c4744306cd9b4f152fba34f2e84116965.svg":{"logical_path":"flags/4x3/om.svg","mtime":"2020-01-07T21:15:22+01:00","size":22891,"digest":"aadcca7bc7ad318400097b84849dd64c4744306cd9b4f152fba34f2e84116965","integrity":"sha256-qtzKe8etMYQACXuEhJ3WTEdEMGzZtPFS+6NPLoQRaWU="},"flags/1x1/om-705e2bd2b2fc7d13c152aa06bfb9e6ee4ad8b299f8c06ca16adad0b18b2b18ed.svg":{"logical_path":"flags/1x1/om.svg","mtime":"2020-01-07T21:15:22+01:00","size":22875,"digest":"705e2bd2b2fc7d13c152aa06bfb9e6ee4ad8b299f8c06ca16adad0b18b2b18ed","integrity":"sha256-cF4r0rL8fRPBUqoGv7nm7krYspn4wGyhatrQsYsrGO0="},"flags/4x3/pa-027e679bd65dcaa2c53145a14669c1e674a467a889ef702cbe2a260f7ca8ad38.svg":{"logical_path":"flags/4x3/pa.svg","mtime":"2020-01-07T21:15:22+01:00","size":746,"digest":"027e679bd65dcaa2c53145a14669c1e674a467a889ef702cbe2a260f7ca8ad38","integrity":"sha256-An5nm9ZdyqLFMUWhRmnB5nSkZ6iJ73AsviomD3yorTg="},"flags/1x1/pa-edeb4faeadaa286de7fdc667e25d38ad0cdbccaec5023182fed6a3c74e8b09eb.svg":{"logical_path":"flags/1x1/pa.svg","mtime":"2020-01-07T21:15:22+01:00","size":662,"digest":"edeb4faeadaa286de7fdc667e25d38ad0cdbccaec5023182fed6a3c74e8b09eb","integrity":"sha256-7etPrq2qKG3n/cZn4l04rQzbzK7FAjGC/tajx06LCes="},"flags/4x3/pe-7ec59842737c90d6ff543f1831fd69b51e1e7ee1b068c3ac6259cbf2c214d611.svg":{"logical_path":"flags/4x3/pe.svg","mtime":"2020-01-07T21:15:22+01:00","size":74343,"digest":"7ec59842737c90d6ff543f1831fd69b51e1e7ee1b068c3ac6259cbf2c214d611","integrity":"sha256-fsWYQnN8kNb/VD8YMf1ptR4efuGwaMOsYlnL8sIU1hE="},"flags/1x1/pe-97d1b8ed1d4ed5e5f0348a731ca4a3a4b9abc7d440447dc87a521f229f375ed3.svg":{"logical_path":"flags/1x1/pe.svg","mtime":"2020-01-07T21:15:22+01:00","size":73629,"digest":"97d1b8ed1d4ed5e5f0348a731ca4a3a4b9abc7d440447dc87a521f229f375ed3","integrity":"sha256-l9G47R1O1eXwNIpzHKSjpLmrx9RARH3IelIfIp83XtM="},"flags/4x3/pf-27955c73c5be4043c5b7ddf64c8f46d11c6648e3b1fc0efe028b8afea21a40e1.svg":{"logical_path":"flags/4x3/pf.svg","mtime":"2020-01-07T21:15:22+01:00","size":4292,"digest":"27955c73c5be4043c5b7ddf64c8f46d11c6648e3b1fc0efe028b8afea21a40e1","integrity":"sha256-J5Vcc8W+QEPFt932TI9G0RxmSOOx/A7+AouK/qIaQOE="},"flags/1x1/pf-83e3e1d36fba45e015c62f938e6d182029edc05ebfdc50bcb33860f36f96d73a.svg":{"logical_path":"flags/1x1/pf.svg","mtime":"2020-01-07T21:15:22+01:00","size":4235,"digest":"83e3e1d36fba45e015c62f938e6d182029edc05ebfdc50bcb33860f36f96d73a","integrity":"sha256-g+Ph02+6ReAVxi+Tjm0YICntwF6/3FC8szhg82+W1zo="},"flags/4x3/pg-c2fdd2551f9044c461eccfae2d7ba0a347a99143f6002b71a429942af0217897.svg":{"logical_path":"flags/4x3/pg.svg","mtime":"2020-01-07T21:15:22+01:00","size":1671,"digest":"c2fdd2551f9044c461eccfae2d7ba0a347a99143f6002b71a429942af0217897","integrity":"sha256-wv3SVR+QRMRh7M+uLXugo0epkUP2ACtxpCmUKvAheJc="},"flags/1x1/pg-cf60257fa85f9270b1e9980e703435186110167f76c153bc460c10ee8b2d4b09.svg":{"logical_path":"flags/1x1/pg.svg","mtime":"2020-01-07T21:15:22+01:00","size":2111,"digest":"cf60257fa85f9270b1e9980e703435186110167f76c153bc460c10ee8b2d4b09","integrity":"sha256-z2Alf6hfknCx6ZgOcDQ1GGEQFn92wVO8RgwQ7ostSwk="},"flags/4x3/ph-bf3394850a6cec6a535420eabce263e7f8193413e4af1fb317c76da025388c1b.svg":{"logical_path":"flags/4x3/ph.svg","mtime":"2020-01-07T21:15:22+01:00","size":1303,"digest":"bf3394850a6cec6a535420eabce263e7f8193413e4af1fb317c76da025388c1b","integrity":"sha256-vzOUhQps7GpTVCDqvOJj5/gZNBPkrx+zF8dtoCU4jBs="},"flags/1x1/ph-006c3218effe4269252cb9638de82ea339eb2894951705c630533ceffa842169.svg":{"logical_path":"flags/1x1/ph.svg","mtime":"2020-01-07T21:15:22+01:00","size":1303,"digest":"006c3218effe4269252cb9638de82ea339eb2894951705c630533ceffa842169","integrity":"sha256-AGwyGO/+QmklLLljjeguoznrKJSVFwXGMFM87/qEIWk="},"flags/4x3/pk-b64f6a32e5bb598f57cfe49c4899c2021f2d153653f3d92101e6e11b2158e500.svg":{"logical_path":"flags/4x3/pk.svg","mtime":"2020-01-07T21:15:22+01:00","size":743,"digest":"b64f6a32e5bb598f57cfe49c4899c2021f2d153653f3d92101e6e11b2158e500","integrity":"sha256-tk9qMuW7WY9Xz+ScSJnCAh8tFTZT89khAebhGyFY5QA="},"flags/1x1/pk-d2d58def913c9081c5eeeda5f0b6895068ec13c955694e359531e23422145e60.svg":{"logical_path":"flags/1x1/pk.svg","mtime":"2020-01-07T21:15:22+01:00","size":694,"digest":"d2d58def913c9081c5eeeda5f0b6895068ec13c955694e359531e23422145e60","integrity":"sha256-0tWN75E8kIHF7u2l8LaJUGjsE8lVaU41lTHiNCIUXmA="},"flags/4x3/pl-f55a710991a94c2e6c2f9f1a7a4a36ebb84b24b7c9d9df4e1ffe86d61321fa6f.svg":{"logical_path":"flags/4x3/pl.svg","mtime":"2020-01-07T21:15:22+01:00","size":228,"digest":"f55a710991a94c2e6c2f9f1a7a4a36ebb84b24b7c9d9df4e1ffe86d61321fa6f","integrity":"sha256-9VpxCZGpTC5sL58aeko267hLJLfJ2d9OH/6G1hMh+m8="},"flags/1x1/pl-fafb539259385f2b99df910cff085710a9b4d9706b74e4e0f8a6ef627615c4e7.svg":{"logical_path":"flags/1x1/pl.svg","mtime":"2020-01-07T21:15:22+01:00","size":228,"digest":"fafb539259385f2b99df910cff085710a9b4d9706b74e4e0f8a6ef627615c4e7","integrity":"sha256-+vtTklk4XyuZ35EM/whXEKm02XBrdOTg+KbvYnYVxOc="},"flags/4x3/pm-8f6338d2ae3e0e42adc9754720ca21ad4979095cf6d7467a8db5a5a1c3e0b2a5.svg":{"logical_path":"flags/4x3/pm.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"8f6338d2ae3e0e42adc9754720ca21ad4979095cf6d7467a8db5a5a1c3e0b2a5","integrity":"sha256-j2M40q4+DkKtyXVHIMohrUl5CVz210Z6jbWlocPgsqU="},"flags/1x1/pm-63029c6198dc42c404ec39807a99528b1d198eeeea6f9a1e309548242480140b.svg":{"logical_path":"flags/1x1/pm.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"63029c6198dc42c404ec39807a99528b1d198eeeea6f9a1e309548242480140b","integrity":"sha256-YwKcYZjcQsQE7DmAeplSix0Zju7qb5oeMJVIJCSAFAs="},"flags/4x3/pn-4006c11ca83011c0dd60a13ac30b27da0578b9f1368bd8c6de5aab423f6662d8.svg":{"logical_path":"flags/4x3/pn.svg","mtime":"2020-01-07T21:15:22+01:00","size":10953,"digest":"4006c11ca83011c0dd60a13ac30b27da0578b9f1368bd8c6de5aab423f6662d8","integrity":"sha256-QAbBHKgwEcDdYKE6wwsn2gV4ufE2i9jG3lqrQj9mYtg="},"flags/1x1/pn-6c433f7f9cb79c6d5ed7bbeade8a495e3b26ca2604f4fd3995096109684ac5dd.svg":{"logical_path":"flags/1x1/pn.svg","mtime":"2020-01-07T21:15:22+01:00","size":8624,"digest":"6c433f7f9cb79c6d5ed7bbeade8a495e3b26ca2604f4fd3995096109684ac5dd","integrity":"sha256-bEM/f5y3nG1e17vq3opJXjsmyiYE9P05lQlhCWhKxd0="},"flags/4x3/pr-6287e1515fa80e2d05133ed93f14ca03a1be6909a9ef6c736fd60f9c9fe73132.svg":{"logical_path":"flags/4x3/pr.svg","mtime":"2020-01-07T21:15:22+01:00","size":634,"digest":"6287e1515fa80e2d05133ed93f14ca03a1be6909a9ef6c736fd60f9c9fe73132","integrity":"sha256-YofhUV+oDi0FEz7ZPxTKA6G+aQmp72xzb9YPnJ/nMTI="},"flags/1x1/pr-526985b3a6d2d6de577ed0ed92d0b49ce854667e3ff630304813fd5af15527cd.svg":{"logical_path":"flags/1x1/pr.svg","mtime":"2020-01-07T21:15:22+01:00","size":622,"digest":"526985b3a6d2d6de577ed0ed92d0b49ce854667e3ff630304813fd5af15527cd","integrity":"sha256-UmmFs6bS1t5XftDtktC0nOhUZn4/9jAwSBP9WvFVJ80="},"flags/4x3/ps-31f50e1fcb44b9aa6e9ce4473c3085f744e70ea0fa1fd8d85787f4e7b0c4a69b.svg":{"logical_path":"flags/4x3/ps.svg","mtime":"2020-01-07T21:15:22+01:00","size":558,"digest":"31f50e1fcb44b9aa6e9ce4473c3085f744e70ea0fa1fd8d85787f4e7b0c4a69b","integrity":"sha256-MfUOH8tEuapunORHPDCF90TnDqD6H9jYV4f057DEpps="},"flags/1x1/ps-c43918bc71bef71b24dd46e8cacc53e0df53e02dcce6199d06d11a4637f08a04.svg":{"logical_path":"flags/1x1/ps.svg","mtime":"2020-01-07T21:15:22+01:00","size":544,"digest":"c43918bc71bef71b24dd46e8cacc53e0df53e02dcce6199d06d11a4637f08a04","integrity":"sha256-xDkYvHG+9xsk3UboysxT4N9T4C3M5hmdBtEaRjfwigQ="},"flags/4x3/pt-9aab20caed714ee47fc408f017037aea94a649b3ba4d87e2da37870ee31e4f92.svg":{"logical_path":"flags/4x3/pt.svg","mtime":"2020-01-07T21:15:22+01:00","size":8393,"digest":"9aab20caed714ee47fc408f017037aea94a649b3ba4d87e2da37870ee31e4f92","integrity":"sha256-mqsgyu1xTuR/xAjwFwN66pSmSbO6TYfi2jeHDuMeT5I="},"flags/1x1/pt-a309869e5018c9690a65ebdf8a2d69d61f82772068a7920f9680ed0581ae5966.svg":{"logical_path":"flags/1x1/pt.svg","mtime":"2020-01-07T21:15:22+01:00","size":8775,"digest":"a309869e5018c9690a65ebdf8a2d69d61f82772068a7920f9680ed0581ae5966","integrity":"sha256-owmGnlAYyWkKZevfii1p1h+CdyBop5IPloDtBYGuWWY="},"flags/4x3/pw-9262037d114d0f61571c74f9a5455809709b43e6565443ae2667981eecb5f12a.svg":{"logical_path":"flags/4x3/pw.svg","mtime":"2020-01-07T21:15:22+01:00","size":467,"digest":"9262037d114d0f61571c74f9a5455809709b43e6565443ae2667981eecb5f12a","integrity":"sha256-kmIDfRFND2FXHHT5pUVYCXCbQ+ZWVEOuJmeYHuy18So="},"flags/1x1/pw-a6f42019653ae26d43c6e9b7bef83fc98cff8ec5e8d0c50ad7cb0a17d5e565a6.svg":{"logical_path":"flags/1x1/pw.svg","mtime":"2020-01-07T21:15:22+01:00","size":511,"digest":"a6f42019653ae26d43c6e9b7bef83fc98cff8ec5e8d0c50ad7cb0a17d5e565a6","integrity":"sha256-pvQgGWU64m1Dxum3vvg/yYz/jsXo0MUK18sKF9XlZaY="},"flags/4x3/py-5bc9e9f0dee94ae3d9bd80ae6fb1aac297dc81a1c592d0a73bc3383bce73af74.svg":{"logical_path":"flags/4x3/py.svg","mtime":"2020-01-07T21:15:22+01:00","size":17312,"digest":"5bc9e9f0dee94ae3d9bd80ae6fb1aac297dc81a1c592d0a73bc3383bce73af74","integrity":"sha256-W8np8N7pSuPZvYCub7GqwpfcgaHFktCnO8M4O85zr3Q="},"flags/1x1/py-182eff300f4507fd9399fb6310d1cd3b45adadd7924ad2814003c7111ec5c0de.svg":{"logical_path":"flags/1x1/py.svg","mtime":"2020-01-07T21:15:22+01:00","size":17478,"digest":"182eff300f4507fd9399fb6310d1cd3b45adadd7924ad2814003c7111ec5c0de","integrity":"sha256-GC7/MA9FB/2TmftjENHNO0WtrdeSStKBQAPHER7FwN4="},"flags/4x3/qa-32c93970f8e521850eddfaf2a89dfff987f0ae3b0b73a253c301b61cf547cf9e.svg":{"logical_path":"flags/4x3/qa.svg","mtime":"2020-01-07T21:15:22+01:00","size":362,"digest":"32c93970f8e521850eddfaf2a89dfff987f0ae3b0b73a253c301b61cf547cf9e","integrity":"sha256-Msk5cPjlIYUO3fryqJ3/+YfwrjsLc6JTwwG2HPVHz54="},"flags/1x1/qa-182e4d8ace2607d0c02d3c29d65eb084af71092357006bc41cd601981ec3b81c.svg":{"logical_path":"flags/1x1/qa.svg","mtime":"2020-01-07T21:15:22+01:00","size":359,"digest":"182e4d8ace2607d0c02d3c29d65eb084af71092357006bc41cd601981ec3b81c","integrity":"sha256-GC5Nis4mB9DALTwp1l6whK9xCSNXAGvEHNYBmB7DuBw="},"flags/4x3/re-8b2ea1f2727c266a2b80cb12a9b7195f6b656f521552b67893b6761a07f9bc92.svg":{"logical_path":"flags/4x3/re.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"8b2ea1f2727c266a2b80cb12a9b7195f6b656f521552b67893b6761a07f9bc92","integrity":"sha256-iy6h8nJ8JmorgMsSqbcZX2tlb1IVUrZ4k7Z2Ggf5vJI="},"flags/1x1/re-07eb7d855022bc678b47b0ce5fd05da5044d6dde86ad3697d4ae55c68ff447c1.svg":{"logical_path":"flags/1x1/re.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"07eb7d855022bc678b47b0ce5fd05da5044d6dde86ad3697d4ae55c68ff447c1","integrity":"sha256-B+t9hVAivGeLR7DOX9BdpQRNbd6GrTaX1K5Vxo/0R8E="},"flags/4x3/ro-4ab797571e1d9eb326486f75654a4590fd33f20444f85b77ba0997eb6138c21f.svg":{"logical_path":"flags/4x3/ro.svg","mtime":"2020-01-07T21:15:22+01:00","size":308,"digest":"4ab797571e1d9eb326486f75654a4590fd33f20444f85b77ba0997eb6138c21f","integrity":"sha256-SreXVx4dnrMmSG91ZUpFkP0z8gRE+Ft3ugmX62E4wh8="},"flags/1x1/ro-ddfcbaec04d11bf7f95abebd1d3a42b2862b1af8fca9b02764a6ed0e409a1d75.svg":{"logical_path":"flags/1x1/ro.svg","mtime":"2020-01-07T21:15:22+01:00","size":308,"digest":"ddfcbaec04d11bf7f95abebd1d3a42b2862b1af8fca9b02764a6ed0e409a1d75","integrity":"sha256-3fy67ATRG/f5Wr69HTpCsoYrGvj8qbAnZKbtDkCaHXU="},"flags/4x3/rs-dd8a52473ea40e23b393b5f4a30d1edd91865aab167f0c1835ae84b15dcce585.svg":{"logical_path":"flags/4x3/rs.svg","mtime":"2020-01-07T21:15:22+01:00","size":187640,"digest":"dd8a52473ea40e23b393b5f4a30d1edd91865aab167f0c1835ae84b15dcce585","integrity":"sha256-3YpSRz6kDiOzk7X0ow0e3ZGGWqsWfwwYNa6EsV3M5YU="},"flags/1x1/rs-42bf40209c92e4e7169daf29fbcb7253b2804eee7a463051529327f38851f865.svg":{"logical_path":"flags/1x1/rs.svg","mtime":"2020-01-07T21:15:22+01:00","size":187503,"digest":"42bf40209c92e4e7169daf29fbcb7253b2804eee7a463051529327f38851f865","integrity":"sha256-Qr9AIJyS5OcWna8p+8tyU7KATu56RjBRUpMn84hR+GU="},"flags/4x3/ru-13f4525a4caad6e31afa523d2bc4a0c1e6377c0bef1bfd872682130d3f199d1d.svg":{"logical_path":"flags/4x3/ru.svg","mtime":"2020-01-07T21:15:22+01:00","size":289,"digest":"13f4525a4caad6e31afa523d2bc4a0c1e6377c0bef1bfd872682130d3f199d1d","integrity":"sha256-E/RSWkyq1uMa+lI9K8SgweY3fAvvG/2HJoITDT8ZnR0="},"flags/1x1/ru-b9792a963faf667447e0456dba5be80a3b37c197a4284d1539a3433721d9e2fe.svg":{"logical_path":"flags/1x1/ru.svg","mtime":"2020-01-07T21:15:22+01:00","size":293,"digest":"b9792a963faf667447e0456dba5be80a3b37c197a4284d1539a3433721d9e2fe","integrity":"sha256-uXkqlj+vZnRH4EVtulvoCjs3wZekKE0VOaNDNyHZ4v4="},"flags/4x3/rw-bc38bcd6e19d2941839b253af6e863b13338cde1174874f9674471026c15e422.svg":{"logical_path":"flags/4x3/rw.svg","mtime":"2020-01-07T21:15:22+01:00","size":750,"digest":"bc38bcd6e19d2941839b253af6e863b13338cde1174874f9674471026c15e422","integrity":"sha256-vDi81uGdKUGDmyU69uhjsTM4zeEXSHT5Z0RxAmwV5CI="},"flags/1x1/rw-456698123775b83d2b0fa1b9fe073f9ccdba0b6bf39a703b8979dcce158eb32c.svg":{"logical_path":"flags/1x1/rw.svg","mtime":"2020-01-07T21:15:22+01:00","size":751,"digest":"456698123775b83d2b0fa1b9fe073f9ccdba0b6bf39a703b8979dcce158eb32c","integrity":"sha256-RWaYEjd1uD0rD6G5/gc/nM26C2vzmnA7iXnczhWOsyw="},"flags/4x3/sa-2b2fd6abb48415d5407c576c24a24fbd80af5877ef06cf2d026452f6c67f5f4d.svg":{"logical_path":"flags/4x3/sa.svg","mtime":"2020-01-07T21:15:22+01:00","size":10303,"digest":"2b2fd6abb48415d5407c576c24a24fbd80af5877ef06cf2d026452f6c67f5f4d","integrity":"sha256-Ky/Wq7SEFdVAfFdsJKJPvYCvWHfvBs8tAmRS9sZ/X00="},"flags/1x1/sa-d9ebc73e7957f86604164dd5054fb32601ad14d7dfd4bfe73da5bdd10bb2f8ae.svg":{"logical_path":"flags/1x1/sa.svg","mtime":"2020-01-07T21:15:22+01:00","size":10233,"digest":"d9ebc73e7957f86604164dd5054fb32601ad14d7dfd4bfe73da5bdd10bb2f8ae","integrity":"sha256-2evHPnlX+GYEFk3VBU+zJgGtFNff1L/nPaW90Quy+K4="},"flags/4x3/sb-37761927039d0a37ba0995c59fd31bbe36c8a0ca161e5b72b8131e3659f8dddf.svg":{"logical_path":"flags/4x3/sb.svg","mtime":"2020-01-07T21:15:22+01:00","size":950,"digest":"37761927039d0a37ba0995c59fd31bbe36c8a0ca161e5b72b8131e3659f8dddf","integrity":"sha256-N3YZJwOdCje6CZXFn9MbvjbIoMoWHltyuBMeNln43d8="},"flags/1x1/sb-bedbf8464cd82f391bfe6178c63055b650d0cf3aee60c37fa79a586f95783b79.svg":{"logical_path":"flags/1x1/sb.svg","mtime":"2020-01-07T21:15:22+01:00","size":956,"digest":"bedbf8464cd82f391bfe6178c63055b650d0cf3aee60c37fa79a586f95783b79","integrity":"sha256-vtv4RkzYLzkb/mF4xjBVtlDQzzruYMN/p5pYb5V4O3k="},"flags/4x3/sc-f6a2f8f37be93f07600b491b52cb58d80d74b92d8ace0af313f4ce081b0d1345.svg":{"logical_path":"flags/4x3/sc.svg","mtime":"2020-01-07T21:15:22+01:00","size":568,"digest":"f6a2f8f37be93f07600b491b52cb58d80d74b92d8ace0af313f4ce081b0d1345","integrity":"sha256-9qL483vpPwdgC0kbUstY2A10uS2KzgrzE/TOCBsNE0U="},"flags/1x1/sc-5dcd01b98c34460c9624280fb5047811fbae7d976620cd0a70ad4263a9085b60.svg":{"logical_path":"flags/1x1/sc.svg","mtime":"2020-01-07T21:15:22+01:00","size":573,"digest":"5dcd01b98c34460c9624280fb5047811fbae7d976620cd0a70ad4263a9085b60","integrity":"sha256-Xc0BuYw0RgyWJCgPtQR4EfuufZdmIM0KcK1CY6kIW2A="},"flags/4x3/sd-cc9cf97e8a37622b9e1bad28811d46c4471595afa448dc055e0e3aae7687fe4b.svg":{"logical_path":"flags/4x3/sd.svg","mtime":"2020-01-07T21:15:22+01:00","size":494,"digest":"cc9cf97e8a37622b9e1bad28811d46c4471595afa448dc055e0e3aae7687fe4b","integrity":"sha256-zJz5foo3YiueG60ogR1GxEcVla+kSNwFXg46rnaH/ks="},"flags/1x1/sd-1f5d13f9780085acbaad13d959b1918c796ba7b0450954b15d145e87cebe045c.svg":{"logical_path":"flags/1x1/sd.svg","mtime":"2020-01-07T21:15:22+01:00","size":496,"digest":"1f5d13f9780085acbaad13d959b1918c796ba7b0450954b15d145e87cebe045c","integrity":"sha256-H10T+XgAhay6rRPZWbGRjHlrp7BFCVSxXRReh86+BFw="},"flags/4x3/se-84b06bcd5bd90ea8dd6d1c3c8d2799a843c47b0256ce098aef75414964618286.svg":{"logical_path":"flags/4x3/se.svg","mtime":"2020-01-07T21:15:22+01:00","size":688,"digest":"84b06bcd5bd90ea8dd6d1c3c8d2799a843c47b0256ce098aef75414964618286","integrity":"sha256-hLBrzVvZDqjdbRw8jSeZqEPEewJWzgmK73VBSWRhgoY="},"flags/1x1/se-39f128686652cf914f8601110fcc9ac879bca204407013b93aff4ca4fb2ed9bc.svg":{"logical_path":"flags/1x1/se.svg","mtime":"2020-01-07T21:15:22+01:00","size":701,"digest":"39f128686652cf914f8601110fcc9ac879bca204407013b93aff4ca4fb2ed9bc","integrity":"sha256-OfEoaGZSz5FPhgERD8yayHm8ogRAcBO5Ov9MpPsu2bw="},"flags/4x3/sg-a82acd90077e76318ddb0be96999d9695b9a9f4627e8a0f341d3987a62747dcc.svg":{"logical_path":"flags/4x3/sg.svg","mtime":"2020-01-07T21:15:22+01:00","size":890,"digest":"a82acd90077e76318ddb0be96999d9695b9a9f4627e8a0f341d3987a62747dcc","integrity":"sha256-qCrNkAd+djGN2wvpaZnZaVuan0Yn6KDzQdOYemJ0fcw="},"flags/1x1/sg-c22e093634568aae249bf35f9ddcaa6796b5f27d76c39ff5336abf7f1b8a47d4.svg":{"logical_path":"flags/1x1/sg.svg","mtime":"2020-01-07T21:15:22+01:00","size":954,"digest":"c22e093634568aae249bf35f9ddcaa6796b5f27d76c39ff5336abf7f1b8a47d4","integrity":"sha256-wi4JNjRWiq4km/NfndyqZ5a18n12w5/1M2q/fxuKR9Q="},"flags/4x3/sh-57470d9a75955f0fac605a94e853bab524c7461a4c025e809fb09db762ebe46f.svg":{"logical_path":"flags/4x3/sh.svg","mtime":"2020-01-07T21:15:22+01:00","size":29702,"digest":"57470d9a75955f0fac605a94e853bab524c7461a4c025e809fb09db762ebe46f","integrity":"sha256-V0cNmnWVXw+sYFqU6FO6tSTHRhpMAl6An7Cdt2Lr5G8="},"flags/1x1/sh-8d06a0fff61e51eb65357d138e00736545835b8649aa2694152f4cdc9f941c16.svg":{"logical_path":"flags/1x1/sh.svg","mtime":"2020-01-07T21:15:22+01:00","size":30308,"digest":"8d06a0fff61e51eb65357d138e00736545835b8649aa2694152f4cdc9f941c16","integrity":"sha256-jQag//YeUetlNX0TjgBzZUWDW4ZJqiaUFS9M3J+UHBY="},"flags/4x3/si-289d6417f154323e7922df09ffc0f49ded31548c7ee8020c39cb85724ffbcea8.svg":{"logical_path":"flags/4x3/si.svg","mtime":"2020-01-07T21:15:22+01:00","size":2055,"digest":"289d6417f154323e7922df09ffc0f49ded31548c7ee8020c39cb85724ffbcea8","integrity":"sha256-KJ1kF/FUMj55It8J/8D0ne0xVIx+6AIMOcuFck/7zqg="},"flags/1x1/si-ca40a5f4f38119d6f52ffd3ddb36af95951a2aa1fadcd897f5bc1641bb2e0051.svg":{"logical_path":"flags/1x1/si.svg","mtime":"2020-01-07T21:15:22+01:00","size":2068,"digest":"ca40a5f4f38119d6f52ffd3ddb36af95951a2aa1fadcd897f5bc1641bb2e0051","integrity":"sha256-ykCl9POBGdb1L/092zavlZUaKqH63NiX9bwWQbsuAFE="},"flags/4x3/sj-67d4cdd268d0c0cd93fc561b506cb5646cb508385c93ed350d11f94aa1c83833.svg":{"logical_path":"flags/4x3/sj.svg","mtime":"2020-01-07T21:15:22+01:00","size":324,"digest":"67d4cdd268d0c0cd93fc561b506cb5646cb508385c93ed350d11f94aa1c83833","integrity":"sha256-Z9TN0mjQwM2T/FYbUGy1ZGy1CDhck+01DRH5SqHIODM="},"flags/1x1/sj-f7c489607033138039612d6abe7f4b0b4b6dada5cac75d78204f404a0d292b1c.svg":{"logical_path":"flags/1x1/sj.svg","mtime":"2020-01-07T21:15:22+01:00","size":324,"digest":"f7c489607033138039612d6abe7f4b0b4b6dada5cac75d78204f404a0d292b1c","integrity":"sha256-98SJYHAzE4A5YS1qvn9LC0ttraXKx114IE9ASg0pKxw="},"flags/4x3/sk-a0bdbb7f5d6998ffe9fcbc80bbdf0e6cff3629740d2ce1b8d61025e0a8b322b5.svg":{"logical_path":"flags/4x3/sk.svg","mtime":"2020-01-07T21:15:22+01:00","size":1208,"digest":"a0bdbb7f5d6998ffe9fcbc80bbdf0e6cff3629740d2ce1b8d61025e0a8b322b5","integrity":"sha256-oL27f11pmP/p/LyAu98ObP82KXQNLOG41hAl4KizIrU="},"flags/1x1/sk-a82a813b2d81af9be1aa775f22b2c2457d11e870e072d7e23957a11d0878faed.svg":{"logical_path":"flags/1x1/sk.svg","mtime":"2020-01-07T21:15:22+01:00","size":1187,"digest":"a82a813b2d81af9be1aa775f22b2c2457d11e870e072d7e23957a11d0878faed","integrity":"sha256-qCqBOy2Br5vhqndfIrLCRX0R6HDgctfiOVehHQh4+u0="},"flags/4x3/sl-be265bed24cfe0b25778201f251e52e4e721e3d319795875913805d1aea84ebb.svg":{"logical_path":"flags/4x3/sl.svg","mtime":"2020-01-07T21:15:22+01:00","size":278,"digest":"be265bed24cfe0b25778201f251e52e4e721e3d319795875913805d1aea84ebb","integrity":"sha256-viZb7STP4LJXeCAfJR5S5Och49MZeVh1kTgF0a6oTrs="},"flags/1x1/sl-cb8bccbaa21957f006ed4ae0144da81c999e93bd8014023b16b500fdcdc397d3.svg":{"logical_path":"flags/1x1/sl.svg","mtime":"2020-01-07T21:15:22+01:00","size":441,"digest":"cb8bccbaa21957f006ed4ae0144da81c999e93bd8014023b16b500fdcdc397d3","integrity":"sha256-y4vMuqIZV/AG7UrgFE2oHJmek72AFAI7FrUA/c3Dl9M="},"flags/4x3/sm-d7818df3f8f2d5dbed27dc5a0a80b1e41cdcd6130eeff221da58f0321e925f27.svg":{"logical_path":"flags/4x3/sm.svg","mtime":"2020-01-07T21:15:22+01:00","size":15960,"digest":"d7818df3f8f2d5dbed27dc5a0a80b1e41cdcd6130eeff221da58f0321e925f27","integrity":"sha256-14GN8/jy1dvtJ9xaCoCx5Bzc1hMO7/Ih2ljwMh6SXyc="},"flags/1x1/sm-6f87660dcac925bbdb036c79a0e20d3b208215d327be4c4764ae1069d6464efd.svg":{"logical_path":"flags/1x1/sm.svg","mtime":"2020-01-07T21:15:22+01:00","size":15881,"digest":"6f87660dcac925bbdb036c79a0e20d3b208215d327be4c4764ae1069d6464efd","integrity":"sha256-b4dmDcrJJbvbA2x5oOINOyCCFdMnvkxHZK4QadZGTv0="},"flags/4x3/sn-b131b17a374bcfbd00d442d282fa52f0e4e0e448cda1cdfaac25a95ff56443c0.svg":{"logical_path":"flags/4x3/sn.svg","mtime":"2020-01-07T21:15:22+01:00","size":427,"digest":"b131b17a374bcfbd00d442d282fa52f0e4e0e448cda1cdfaac25a95ff56443c0","integrity":"sha256-sTGxejdLz70A1ELSgvpS8OTg5EjNoc36rCWpX/VkQ8A="},"flags/1x1/sn-d180d3ce9846966dee6a3d9433ede7d24801dc4311636aabd470ec5b8765d772.svg":{"logical_path":"flags/1x1/sn.svg","mtime":"2020-01-07T21:15:22+01:00","size":418,"digest":"d180d3ce9846966dee6a3d9433ede7d24801dc4311636aabd470ec5b8765d772","integrity":"sha256-0YDTzphGlm3uaj2UM+3n0kgB3EMRY2qr1HDsW4dl13I="},"flags/4x3/so-3b5b77b371299478144a94b60c99524fb6b99bfedb3dcc976ab70185e07f399e.svg":{"logical_path":"flags/4x3/so.svg","mtime":"2020-01-07T21:15:22+01:00","size":494,"digest":"3b5b77b371299478144a94b60c99524fb6b99bfedb3dcc976ab70185e07f399e","integrity":"sha256-O1t3s3EplHgUSpS2DJlST7a5m/7bPcyXarcBheB/OZ4="},"flags/1x1/so-50aa941f2d2954285ef9e5ac260cdd264a73cf2e4b0c627677f04141fff2afd3.svg":{"logical_path":"flags/1x1/so.svg","mtime":"2020-01-07T21:15:22+01:00","size":501,"digest":"50aa941f2d2954285ef9e5ac260cdd264a73cf2e4b0c627677f04141fff2afd3","integrity":"sha256-UKqUHy0pVChe+eWsJgzdJkpzzy5LDGJ2d/BBQf/yr9M="},"flags/4x3/sr-94d0f0aefcbdea8d7ba35648eda5037e99bf4126723ce36416582ea43b08d3e2.svg":{"logical_path":"flags/4x3/sr.svg","mtime":"2020-01-07T21:15:22+01:00","size":318,"digest":"94d0f0aefcbdea8d7ba35648eda5037e99bf4126723ce36416582ea43b08d3e2","integrity":"sha256-lNDwrvy96o17o1ZI7aUDfpm/QSZyPONkFlgupDsI0+I="},"flags/1x1/sr-3944d683068d437471725d22fd71ccbe6a63ae307ff9775690417d3bf262cf82.svg":{"logical_path":"flags/1x1/sr.svg","mtime":"2020-01-07T21:15:22+01:00","size":323,"digest":"3944d683068d437471725d22fd71ccbe6a63ae307ff9775690417d3bf262cf82","integrity":"sha256-OUTWgwaNQ3Rxcl0i/XHMvmpjrjB/+XdWkEF9O/Jiz4I="},"flags/4x3/ss-f391e5002cbce83f97f7d1a11c284fa2e36a7d6dc734757d733656801ab17d0a.svg":{"logical_path":"flags/4x3/ss.svg","mtime":"2020-01-07T21:15:22+01:00","size":389,"digest":"f391e5002cbce83f97f7d1a11c284fa2e36a7d6dc734757d733656801ab17d0a","integrity":"sha256-85HlACy86D+X99GhHChPouNqfW3HNHV9czZWgBqxfQo="},"flags/1x1/ss-853bd9f713d2f6b1fe540a82e8bf4754912da21575b3fe756b8741767f318f7a.svg":{"logical_path":"flags/1x1/ss.svg","mtime":"2020-01-07T21:15:22+01:00","size":400,"digest":"853bd9f713d2f6b1fe540a82e8bf4754912da21575b3fe756b8741767f318f7a","integrity":"sha256-hTvZ9xPS9rH+VAqC6L9HVJEtohV1s/51a4dBdn8xj3o="},"flags/4x3/st-b52bb48a2c0800f5cb4b07bdd93c3908f77bcb6800be883ebf943bbd3d99d42c.svg":{"logical_path":"flags/4x3/st.svg","mtime":"2020-01-07T21:15:22+01:00","size":919,"digest":"b52bb48a2c0800f5cb4b07bdd93c3908f77bcb6800be883ebf943bbd3d99d42c","integrity":"sha256-tSu0iiwIAPXLSwe92Tw5CPd7y2gAvog+v5Q7vT2Z1Cw="},"flags/1x1/st-d8b5b1c8b9fe947086a4d277d2ac5d6b9cff188dfd37bda66c8bf5e02c5facc8.svg":{"logical_path":"flags/1x1/st.svg","mtime":"2020-01-07T21:15:22+01:00","size":923,"digest":"d8b5b1c8b9fe947086a4d277d2ac5d6b9cff188dfd37bda66c8bf5e02c5facc8","integrity":"sha256-2LWxyLn+lHCGpNJ30qxda5z/GI39N72mbIv14CxfrMg="},"flags/4x3/sv-6d02d63c7f04c9388e98f892cc43d8daa2110fc84242758d5627fcd247bfd09b.svg":{"logical_path":"flags/4x3/sv.svg","mtime":"2020-01-07T21:15:22+01:00","size":84037,"digest":"6d02d63c7f04c9388e98f892cc43d8daa2110fc84242758d5627fcd247bfd09b","integrity":"sha256-bQLWPH8EyTiOmPiSzEPY2qIRD8hCQnWNVif80ke/0Js="},"flags/1x1/sv-fb4c8d7eb98396a93c5b9c37195d70e809e0d71d8b8f9316e842121f95bb82ea.svg":{"logical_path":"flags/1x1/sv.svg","mtime":"2020-01-07T21:15:22+01:00","size":84509,"digest":"fb4c8d7eb98396a93c5b9c37195d70e809e0d71d8b8f9316e842121f95bb82ea","integrity":"sha256-+0yNfrmDlqk8W5w3GV1w6Ang1x2Lj5MW6EISH5W7guo="},"flags/4x3/sx-fb6a7b1cbc5b29eeeb39a5aec64ef7aad432c37bbe848d29955a3786b9763224.svg":{"logical_path":"flags/4x3/sx.svg","mtime":"2020-01-07T21:15:22+01:00","size":13306,"digest":"fb6a7b1cbc5b29eeeb39a5aec64ef7aad432c37bbe848d29955a3786b9763224","integrity":"sha256-+2p7HLxbKe7rOaWuxk73qtQyw3u+hI0plVo3hrl2MiQ="},"flags/1x1/sx-a37b124212f8530b921aef7657cfb35c2895a731c7a06f333faee4c93f32806a.svg":{"logical_path":"flags/1x1/sx.svg","mtime":"2020-01-07T21:15:22+01:00","size":13115,"digest":"a37b124212f8530b921aef7657cfb35c2895a731c7a06f333faee4c93f32806a","integrity":"sha256-o3sSQhL4UwuSGu92V8+zXCiVpzHHoG8zP67kyT8ygGo="},"flags/4x3/sy-e35f8d88c864ed4f38edb2f9f96d5bd69f6df078b50515b8c5467bf6b1689f50.svg":{"logical_path":"flags/4x3/sy.svg","mtime":"2020-01-07T21:15:22+01:00","size":568,"digest":"e35f8d88c864ed4f38edb2f9f96d5bd69f6df078b50515b8c5467bf6b1689f50","integrity":"sha256-41+NiMhk7U847bL5+W1b1p9t8Hi1BRW4xUZ79rFon1A="},"flags/1x1/sy-5d537bd5b42b58f6e8a7e33fbe5942a16126abb639edf9cb58b88938c57ebaa9.svg":{"logical_path":"flags/1x1/sy.svg","mtime":"2020-01-07T21:15:22+01:00","size":582,"digest":"5d537bd5b42b58f6e8a7e33fbe5942a16126abb639edf9cb58b88938c57ebaa9","integrity":"sha256-XVN71bQrWPbop+M/vllCoWEmq7Y57fnLWLiJOMV+uqk="},"flags/4x3/sz-c65ae592e943217787848364bdb4c57335869f4626ce705adabdc2620669c1c6.svg":{"logical_path":"flags/4x3/sz.svg","mtime":"2020-01-07T21:15:22+01:00","size":6755,"digest":"c65ae592e943217787848364bdb4c57335869f4626ce705adabdc2620669c1c6","integrity":"sha256-xlrlkulDIXeHhINkvbTFczWGn0YmznBa2r3CYgZpwcY="},"flags/1x1/sz-dd3d1c65bdf09317553f205e588e3dc7336acec1cb9315bfbe0f5bd8ca5bba3f.svg":{"logical_path":"flags/1x1/sz.svg","mtime":"2020-01-07T21:15:22+01:00","size":6706,"digest":"dd3d1c65bdf09317553f205e588e3dc7336acec1cb9315bfbe0f5bd8ca5bba3f","integrity":"sha256-3T0cZb3wkxdVPyBeWI49xzNqzsHLkxW/vg9b2Mpbuj8="},"flags/4x3/tc-594b6cc87040836c6d6777afb5833d565d3e5e75f404350a51443ec4588a1ccb.svg":{"logical_path":"flags/4x3/tc.svg","mtime":"2020-01-07T21:15:22+01:00","size":14585,"digest":"594b6cc87040836c6d6777afb5833d565d3e5e75f404350a51443ec4588a1ccb","integrity":"sha256-WUtsyHBAg2xtZ3evtYM9Vl0+XnX0BDUKUUQ+xFiKHMs="},"flags/1x1/tc-34a37006252eea340488220585c31d047b57e3e7934c77180d930972aaceadc3.svg":{"logical_path":"flags/1x1/tc.svg","mtime":"2020-01-07T21:15:22+01:00","size":14843,"digest":"34a37006252eea340488220585c31d047b57e3e7934c77180d930972aaceadc3","integrity":"sha256-NKNwBiUu6jQEiCIFhcMdBHtX4+eTTHcYDZMJcqrOrcM="},"flags/4x3/td-b67a1978e3badb895ff640c80bb6c0e33eac354220c08cf3fc93d62bf5d685a3.svg":{"logical_path":"flags/4x3/td.svg","mtime":"2020-01-07T21:15:22+01:00","size":270,"digest":"b67a1978e3badb895ff640c80bb6c0e33eac354220c08cf3fc93d62bf5d685a3","integrity":"sha256-tnoZeOO624lf9kDIC7bA4z6sNUIgwIzz/JPWK/XWhaM="},"flags/1x1/td-556b3a7991c17010cb7e1ff23c4edcc2dcdb8c406a128d407fd165ea8a19d311.svg":{"logical_path":"flags/1x1/td.svg","mtime":"2020-01-07T21:15:22+01:00","size":282,"digest":"556b3a7991c17010cb7e1ff23c4edcc2dcdb8c406a128d407fd165ea8a19d311","integrity":"sha256-VWs6eZHBcBDLfh/yPE7cwtzbjEBqEo1Af9Fl6ooZ0xE="},"flags/4x3/tf-35cd83351521f3022a43e01f0c40f34663a66ac1e92045979f31d3fd65c16d02.svg":{"logical_path":"flags/4x3/tf.svg","mtime":"2020-01-07T21:15:22+01:00","size":1091,"digest":"35cd83351521f3022a43e01f0c40f34663a66ac1e92045979f31d3fd65c16d02","integrity":"sha256-Nc2DNRUh8wIqQ+AfDEDzRmOmasHpIEWXnzHT/WXBbQI="},"flags/1x1/tf-485e71f61ff577735dbc4ba1025515c22a83c48ee7f3a2ed49804766c35f6ea5.svg":{"logical_path":"flags/1x1/tf.svg","mtime":"2020-01-07T21:15:22+01:00","size":1199,"digest":"485e71f61ff577735dbc4ba1025515c22a83c48ee7f3a2ed49804766c35f6ea5","integrity":"sha256-SF5x9h/1d3NdvEuhAlUVwiqDxI7n86LtSYBHZsNfbqU="},"flags/4x3/tg-24b25f4c2213fe35e5f5586d7ab23abf0c25ad2049708cd52ba72e1ec7b754ff.svg":{"logical_path":"flags/4x3/tg.svg","mtime":"2020-01-07T21:15:22+01:00","size":725,"digest":"24b25f4c2213fe35e5f5586d7ab23abf0c25ad2049708cd52ba72e1ec7b754ff","integrity":"sha256-JLJfTCIT/jXl9VhterI6vwwlrSBJcIzVK6cuHse3VP8="},"flags/1x1/tg-05f3d98392a5ec3e4aecf8f629d3d03f05ac55abb7d9d84187d599acfe271374.svg":{"logical_path":"flags/1x1/tg.svg","mtime":"2020-01-07T21:15:22+01:00","size":736,"digest":"05f3d98392a5ec3e4aecf8f629d3d03f05ac55abb7d9d84187d599acfe271374","integrity":"sha256-BfPZg5Kl7D5K7Pj2KdPQPwWsVau32dhBh9WZrP4nE3Q="},"flags/4x3/th-cc936bacd84dddd15454ef06bc64e357f83854af34692fc37363272d61f637d4.svg":{"logical_path":"flags/4x3/th.svg","mtime":"2020-01-07T21:15:22+01:00","size":287,"digest":"cc936bacd84dddd15454ef06bc64e357f83854af34692fc37363272d61f637d4","integrity":"sha256-zJNrrNhN3dFUVO8GvGTjV/g4VK80aS/Dc2MnLWH2N9Q="},"flags/1x1/th-de82cbd770db2be53a8e3d59d86e2b748a5d3f96eb8584f7b9364cefbd06a172.svg":{"logical_path":"flags/1x1/th.svg","mtime":"2020-01-07T21:15:22+01:00","size":288,"digest":"de82cbd770db2be53a8e3d59d86e2b748a5d3f96eb8584f7b9364cefbd06a172","integrity":"sha256-3oLL13DbK+U6jj1Z2G4rdIpdP5brhYT3uTZM770GoXI="},"flags/4x3/tj-b90bf3e2dd63265d55b67962b160df65f021c42b6ea304e2943c10b9e2a8749d.svg":{"logical_path":"flags/4x3/tj.svg","mtime":"2020-01-07T21:15:22+01:00","size":1831,"digest":"b90bf3e2dd63265d55b67962b160df65f021c42b6ea304e2943c10b9e2a8749d","integrity":"sha256-uQvz4t1jJl1VtnlisWDfZfAhxCtuowTilDwQueKodJ0="},"flags/1x1/tj-5f6571e74b1f8720f9ecc2d3aa2098ca45d2e7ad6602b2a57c206384719b9f36.svg":{"logical_path":"flags/1x1/tj.svg","mtime":"2020-01-07T21:15:22+01:00","size":1788,"digest":"5f6571e74b1f8720f9ecc2d3aa2098ca45d2e7ad6602b2a57c206384719b9f36","integrity":"sha256-X2Vx50sfhyD57MLTqiCYykXS561mArKlfCBjhHGbnzY="},"flags/4x3/tk-602520b29b909c96baea17a38eb654d6c6fbc7088f46a0cb8d8fe34ff92e3cb8.svg":{"logical_path":"flags/4x3/tk.svg","mtime":"2020-01-07T21:15:22+01:00","size":791,"digest":"602520b29b909c96baea17a38eb654d6c6fbc7088f46a0cb8d8fe34ff92e3cb8","integrity":"sha256-YCUgspuQnJa66hejjrZU1sb7xwiPRqDLjY/jT/kuPLg="},"flags/1x1/tk-fe1dc8aaa0643a45a74ecec8aec09f0fe2207d104bb3c28c0b84405f1275aeba.svg":{"logical_path":"flags/1x1/tk.svg","mtime":"2020-01-07T21:15:22+01:00","size":781,"digest":"fe1dc8aaa0643a45a74ecec8aec09f0fe2207d104bb3c28c0b84405f1275aeba","integrity":"sha256-/h3IqqBkOkWnTs7IrsCfD+IgfRBLs8KMC4RAXxJ1rro="},"flags/4x3/tl-ebdb862aa5ae5de1a72242571deaa70bfb222f488a93b70e304f2075b474d54b.svg":{"logical_path":"flags/4x3/tl.svg","mtime":"2020-01-07T21:15:22+01:00","size":600,"digest":"ebdb862aa5ae5de1a72242571deaa70bfb222f488a93b70e304f2075b474d54b","integrity":"sha256-69uGKqWuXeGnIkJXHeqnC/siL0iKk7cOME8gdbR01Us="},"flags/1x1/tl-485f02183bdb192ba3ce6e5f076e184112739f883ae0a8fde33c454377b848d6.svg":{"logical_path":"flags/1x1/tl.svg","mtime":"2020-01-07T21:15:22+01:00","size":582,"digest":"485f02183bdb192ba3ce6e5f076e184112739f883ae0a8fde33c454377b848d6","integrity":"sha256-SF8CGDvbGSujzm5fB24YQRJzn4g64Kj94zxFQ3e4SNY="},"flags/4x3/tm-5ddb4128bf0becd7c60413d5418027f5f01ca4bc72561d54b94febfee7a5a24b.svg":{"logical_path":"flags/4x3/tm.svg","mtime":"2020-01-07T21:15:22+01:00","size":32579,"digest":"5ddb4128bf0becd7c60413d5418027f5f01ca4bc72561d54b94febfee7a5a24b","integrity":"sha256-XdtBKL8L7NfGBBPVQYAn9fAcpLxyVh1UuU/r/ueloks="},"flags/1x1/tm-3521ad569a4095aa8d4166d5d9094fccfdbb3ea411207ad685b6dd5814ef3392.svg":{"logical_path":"flags/1x1/tm.svg","mtime":"2020-01-07T21:15:22+01:00","size":31884,"digest":"3521ad569a4095aa8d4166d5d9094fccfdbb3ea411207ad685b6dd5814ef3392","integrity":"sha256-NSGtVppAlaqNQWbV2QlPzP27PqQRIHrWhbbdWBTvM5I="},"flags/4x3/tn-ca27eb50d88b11d20b5b09e2bbecb7753267222489920c526608e5d2acd22d79.svg":{"logical_path":"flags/4x3/tn.svg","mtime":"2020-01-07T21:15:22+01:00","size":753,"digest":"ca27eb50d88b11d20b5b09e2bbecb7753267222489920c526608e5d2acd22d79","integrity":"sha256-yifrUNiLEdILWwniu+y3dTJnIiSJkgxSZgjl0qzSLXk="},"flags/1x1/tn-222c6cd4742c558f48ebcacb47ea334057642fffa3456a1c75e0fad9e728d09b.svg":{"logical_path":"flags/1x1/tn.svg","mtime":"2020-01-07T21:15:22+01:00","size":743,"digest":"222c6cd4742c558f48ebcacb47ea334057642fffa3456a1c75e0fad9e728d09b","integrity":"sha256-Iixs1HQsVY9I68rLR+ozQFdkL/+jRWocdeD62eco0Js="},"flags/4x3/to-c9c509fc24f591fbe52bbf732c44291384c787796e1fc9c703a973587c3f8ad1.svg":{"logical_path":"flags/4x3/to.svg","mtime":"2020-01-07T21:15:22+01:00","size":358,"digest":"c9c509fc24f591fbe52bbf732c44291384c787796e1fc9c703a973587c3f8ad1","integrity":"sha256-ycUJ/CT1kfvlK79zLEQpE4THh3luH8nHA6lzWHw/itE="},"flags/1x1/to-cf26dfb44b56b915b2f11896355cb778b938ed54423311d69d7cda9626887dda.svg":{"logical_path":"flags/1x1/to.svg","mtime":"2020-01-07T21:15:22+01:00","size":364,"digest":"cf26dfb44b56b915b2f11896355cb778b938ed54423311d69d7cda9626887dda","integrity":"sha256-zybftEtWuRWy8RiWNVy3eLk47VRCMxHWnXzaliaIfdo="},"flags/4x3/tr-c40f697070cf8d8358785b9203d1c8f438976e3cd644a87d9ee16fa9960deaa4.svg":{"logical_path":"flags/4x3/tr.svg","mtime":"2020-01-07T21:15:22+01:00","size":557,"digest":"c40f697070cf8d8358785b9203d1c8f438976e3cd644a87d9ee16fa9960deaa4","integrity":"sha256-xA9pcHDPjYNYeFuSA9HI9DiXbjzWRKh9nuFvqZYN6qQ="},"flags/1x1/tr-627dcf91a1e5153c045e33a3459b5d56002530fddd3fc53927f4d0fb7ea004a5.svg":{"logical_path":"flags/1x1/tr.svg","mtime":"2020-01-07T21:15:22+01:00","size":578,"digest":"627dcf91a1e5153c045e33a3459b5d56002530fddd3fc53927f4d0fb7ea004a5","integrity":"sha256-Yn3PkaHlFTwEXjOjRZtdVgAlMP3dP8U5J/TQ+36gBKU="},"flags/4x3/tt-04786ffedbde2c96a30ad1cbf4db000848f14bd700324651fc88364e5f3c2fd0.svg":{"logical_path":"flags/4x3/tt.svg","mtime":"2020-01-07T21:15:22+01:00","size":324,"digest":"04786ffedbde2c96a30ad1cbf4db000848f14bd700324651fc88364e5f3c2fd0","integrity":"sha256-BHhv/tveLJajCtHL9NsACEjxS9cAMkZR/Ig2Tl88L9A="},"flags/1x1/tt-6a3c73bfa7782366d95e673d847ef8f84c0475b364d359def1efd264297bac30.svg":{"logical_path":"flags/1x1/tt.svg","mtime":"2020-01-07T21:15:22+01:00","size":323,"digest":"6a3c73bfa7782366d95e673d847ef8f84c0475b364d359def1efd264297bac30","integrity":"sha256-ajxzv6d4I2bZXmc9hH74+EwEdbNk01ne8e/SZCl7rDA="},"flags/4x3/tv-20b56e7c0a2fbaa2a0b7b1bd87afc6368440f175fb3a0589de5e34e99d163fd7.svg":{"logical_path":"flags/4x3/tv.svg","mtime":"2020-01-07T21:15:22+01:00","size":2299,"digest":"20b56e7c0a2fbaa2a0b7b1bd87afc6368440f175fb3a0589de5e34e99d163fd7","integrity":"sha256-ILVufAovuqKgt7G9h6/GNoRA8XX7OgWJ3l406Z0WP9c="},"flags/1x1/tv-8bce1d7bde2e20dcc473ed3a33c66e4bedcf1acf2d2fff6d54353a480b8cafbc.svg":{"logical_path":"flags/1x1/tv.svg","mtime":"2020-01-07T21:15:22+01:00","size":2166,"digest":"8bce1d7bde2e20dcc473ed3a33c66e4bedcf1acf2d2fff6d54353a480b8cafbc","integrity":"sha256-i84de94uINzEc+06M8ZuS+3PGs8tL/9tVDU6SAuMr7w="},"flags/4x3/tw-36070ac0a15ab1f4811478da62e7678756a9aa266b141ed0549aba1c0e04333a.svg":{"logical_path":"flags/4x3/tw.svg","mtime":"2020-01-07T21:15:22+01:00","size":945,"digest":"36070ac0a15ab1f4811478da62e7678756a9aa266b141ed0549aba1c0e04333a","integrity":"sha256-NgcKwKFasfSBFHjaYudnh1apqiZrFB7QVJq6HA4EMzo="},"flags/1x1/tw-fd7a0db2f3808842ca99176f097356fe9e6f3c120d6aa9e8c4a9c2dd4c3943ba.svg":{"logical_path":"flags/1x1/tw.svg","mtime":"2020-01-07T21:15:22+01:00","size":960,"digest":"fd7a0db2f3808842ca99176f097356fe9e6f3c120d6aa9e8c4a9c2dd4c3943ba","integrity":"sha256-/XoNsvOAiELKmRdvCXNW/p5vPBINaqnoxKnC3Uw5Q7o="},"flags/4x3/tz-51ad7d69f059075df61b9226468af0d78642af4ad34a7540f64c5bea82e803d7.svg":{"logical_path":"flags/4x3/tz.svg","mtime":"2020-01-07T21:15:22+01:00","size":546,"digest":"51ad7d69f059075df61b9226468af0d78642af4ad34a7540f64c5bea82e803d7","integrity":"sha256-Ua19afBZB132G5ImRorw14ZCr0rTSnVA9kxb6oLoA9c="},"flags/1x1/tz-0703f29a7ae02a9a1753cb1726dd2934d75ed3a12e8d63faa9fa866e1fe61440.svg":{"logical_path":"flags/1x1/tz.svg","mtime":"2020-01-07T21:15:22+01:00","size":605,"digest":"0703f29a7ae02a9a1753cb1726dd2934d75ed3a12e8d63faa9fa866e1fe61440","integrity":"sha256-BwPymnrgKpoXU8sXJt0pNNde06EujWP6qfqGbh/mFEA="},"flags/4x3/ua-7f7db03c3b492aaacd11b0abac70d543a7c0ec5265a36d529bbb80a7c432d81a.svg":{"logical_path":"flags/4x3/ua.svg","mtime":"2020-01-07T21:15:22+01:00","size":241,"digest":"7f7db03c3b492aaacd11b0abac70d543a7c0ec5265a36d529bbb80a7c432d81a","integrity":"sha256-f32wPDtJKqrNEbCrrHDVQ6fA7FJlo21Sm7uAp8Qy2Bo="},"flags/1x1/ua-25192fa80f120edb1dd1c4757fd7b79ef38f5e1729238f4135003e6a1501bf28.svg":{"logical_path":"flags/1x1/ua.svg","mtime":"2020-01-07T21:15:22+01:00","size":241,"digest":"25192fa80f120edb1dd1c4757fd7b79ef38f5e1729238f4135003e6a1501bf28","integrity":"sha256-JRkvqA8SDtsd0cR1f9e3nvOPXhcpI49BNQA+ahUBvyg="},"flags/4x3/ug-7635df53eafdf411be0809df835bfbcffd61badd6c4df3db0909c8b3188015a0.svg":{"logical_path":"flags/4x3/ug.svg","mtime":"2020-01-07T21:15:22+01:00","size":3959,"digest":"7635df53eafdf411be0809df835bfbcffd61badd6c4df3db0909c8b3188015a0","integrity":"sha256-djXfU+r99BG+CAnfg1v7z/1hut1sTfPbCQnIsxiAFaA="},"flags/1x1/ug-537f34f64e723fbe7cb7902ea0e61303f1ada79214197efc39ebe2c52ce24186.svg":{"logical_path":"flags/1x1/ug.svg","mtime":"2020-01-07T21:15:22+01:00","size":4038,"digest":"537f34f64e723fbe7cb7902ea0e61303f1ada79214197efc39ebe2c52ce24186","integrity":"sha256-U3809k5yP758t5AuoOYTA/Gtp5IUGX78OevixSziQYY="},"flags/4x3/um-a0ae80e34bbf94677dd6052ea87cc0090aba747dab5440e5ca6e231f7f07c96d.svg":{"logical_path":"flags/4x3/um.svg","mtime":"2020-01-07T21:15:22+01:00","size":4524,"digest":"a0ae80e34bbf94677dd6052ea87cc0090aba747dab5440e5ca6e231f7f07c96d","integrity":"sha256-oK6A40u/lGd91gUuqHzACQq6dH2rVEDlym4jH38HyW0="},"flags/1x1/um-3f1bc09babe7fdcf32518bb49d1aac3a66d0204f955eacca291c58d4f4ef895a.svg":{"logical_path":"flags/1x1/um.svg","mtime":"2020-01-07T21:15:22+01:00","size":3975,"digest":"3f1bc09babe7fdcf32518bb49d1aac3a66d0204f955eacca291c58d4f4ef895a","integrity":"sha256-PxvAm6vn/c8yUYu0nRqsOmbQIE+VXqzKKRxY1PTviVo="},"flags/4x3/us-aefd8f7e57d11f7b0416d01d9c665ab3848b10af849f35a4d772d58d24d83329.svg":{"logical_path":"flags/4x3/us.svg","mtime":"2020-01-07T21:15:22+01:00","size":4468,"digest":"aefd8f7e57d11f7b0416d01d9c665ab3848b10af849f35a4d772d58d24d83329","integrity":"sha256-rv2PflfRH3sEFtAdnGZas4SLEK+EnzWk13LVjSTYMyk="},"flags/1x1/us-87af45be9346e8c820312976abe332ee11f8931e29fa361328d28660a711b1e2.svg":{"logical_path":"flags/1x1/us.svg","mtime":"2020-01-07T21:15:22+01:00","size":3924,"digest":"87af45be9346e8c820312976abe332ee11f8931e29fa361328d28660a711b1e2","integrity":"sha256-h69FvpNG6MggMSl2q+My7hH4kx4p+jYTKNKGYKcRseI="},"flags/4x3/uy-9f636c8283abf56cc930746fd427c1d1644dcf8736c537629df13f760da96ebc.svg":{"logical_path":"flags/4x3/uy.svg","mtime":"2020-01-07T21:15:22+01:00","size":1721,"digest":"9f636c8283abf56cc930746fd427c1d1644dcf8736c537629df13f760da96ebc","integrity":"sha256-n2NsgoOr9WzJMHRv1CfB0WRNz4c2xTdinfE/dg2pbrw="},"flags/1x1/uy-e216b762a93ec55bf9b4ae3d35b7febe0b192a12246fd66c45139ce77fb2095e.svg":{"logical_path":"flags/1x1/uy.svg","mtime":"2020-01-07T21:15:22+01:00","size":1718,"digest":"e216b762a93ec55bf9b4ae3d35b7febe0b192a12246fd66c45139ce77fb2095e","integrity":"sha256-4ha3Yqk+xVv5tK49Nbf+vgsZKhIkb9ZsRROc53+yCV4="},"flags/4x3/uz-697d596705372323beddccb3626d1ce405b36249315c6b006ff1529e24909ceb.svg":{"logical_path":"flags/4x3/uz.svg","mtime":"2020-01-07T21:15:22+01:00","size":1457,"digest":"697d596705372323beddccb3626d1ce405b36249315c6b006ff1529e24909ceb","integrity":"sha256-aX1ZZwU3IyO+3cyzYm0c5AWzYkkxXGsAb/FSniSQnOs="},"flags/1x1/uz-aa34cbe4f6f0e4b5d890975578d28cc9b1e88ebd503d3bdca693748eb29b3353.svg":{"logical_path":"flags/1x1/uz.svg","mtime":"2020-01-07T21:15:22+01:00","size":1457,"digest":"aa34cbe4f6f0e4b5d890975578d28cc9b1e88ebd503d3bdca693748eb29b3353","integrity":"sha256-qjTL5Pbw5LXYkJdVeNKMybHojr1QPTvcppN0jrKbM1M="},"flags/4x3/va-d24d3c5bee108c396997c3d5b2bd2273433752d8c222eb531650e51551a4afd0.svg":{"logical_path":"flags/4x3/va.svg","mtime":"2020-01-07T21:15:22+01:00","size":91241,"digest":"d24d3c5bee108c396997c3d5b2bd2273433752d8c222eb531650e51551a4afd0","integrity":"sha256-0k08W+4QjDlpl8PVsr0ic0M3UtjCIutTFlDlFVGkr9A="},"flags/1x1/va-01160c1bffda12f0b94554ba0c50162a88da807943617334bd4c57a030985e95.svg":{"logical_path":"flags/1x1/va.svg","mtime":"2020-01-07T21:15:22+01:00","size":90876,"digest":"01160c1bffda12f0b94554ba0c50162a88da807943617334bd4c57a030985e95","integrity":"sha256-ARYMG//aEvC5RVS6DFAWKojagHlDYXM0vUxXoDCYXpU="},"flags/4x3/vc-ddf979bee2889414e5a05ac55f39a9c93f34e0aff0d35f007605049a2d8b5afb.svg":{"logical_path":"flags/4x3/vc.svg","mtime":"2020-01-07T21:15:22+01:00","size":454,"digest":"ddf979bee2889414e5a05ac55f39a9c93f34e0aff0d35f007605049a2d8b5afb","integrity":"sha256-3fl5vuKIlBTloFrFXzmpyT804K/w018AdgUEmi2LWvs="},"flags/1x1/vc-ac776e16dec19ff2e2d9238f541dae5d977282b451a83ab3d4122efed2392be9.svg":{"logical_path":"flags/1x1/vc.svg","mtime":"2020-01-07T21:15:22+01:00","size":501,"digest":"ac776e16dec19ff2e2d9238f541dae5d977282b451a83ab3d4122efed2392be9","integrity":"sha256-rHduFt7Bn/Li2SOPVB2uXZdygrRRqDqz1BIu/tI5K+k="},"flags/4x3/ve-e23abd006cc75a8c4f9ec1cb122b46f9b52e26c5606532d2c868277d4ccd523b.svg":{"logical_path":"flags/4x3/ve.svg","mtime":"2020-01-07T21:15:22+01:00","size":1171,"digest":"e23abd006cc75a8c4f9ec1cb122b46f9b52e26c5606532d2c868277d4ccd523b","integrity":"sha256-4jq9AGzHWoxPnsHLEitG+bUuJsVgZTLSyGgnfUzNUjs="},"flags/1x1/ve-1480713f28719e0a83da2c5f1333407dbfa5bcc0de8c9ba718fcf47273ee95ef.svg":{"logical_path":"flags/1x1/ve.svg","mtime":"2020-01-07T21:15:22+01:00","size":1191,"digest":"1480713f28719e0a83da2c5f1333407dbfa5bcc0de8c9ba718fcf47273ee95ef","integrity":"sha256-FIBxPyhxngqD2ixfEzNAfb+lvMDejJunGPz0cnPule8="},"flags/4x3/vg-7f8f24a4d6995e4dd39e3d9098dad5e14649821fa12ffc200edf0a586285ee15.svg":{"logical_path":"flags/4x3/vg.svg","mtime":"2020-01-07T21:15:22+01:00","size":24818,"digest":"7f8f24a4d6995e4dd39e3d9098dad5e14649821fa12ffc200edf0a586285ee15","integrity":"sha256-f48kpNaZXk3Tnj2QmNrV4UZJgh+hL/wgDt8KWGKF7hU="},"flags/1x1/vg-b464b6a78e46c29df9e4bdadc2646208f11c59168706456075f970552a24efa8.svg":{"logical_path":"flags/1x1/vg.svg","mtime":"2020-01-07T21:15:22+01:00","size":24997,"digest":"b464b6a78e46c29df9e4bdadc2646208f11c59168706456075f970552a24efa8","integrity":"sha256-tGS2p45Gwp355L2twmRiCPEcWRaHBkVgdflwVSok76g="},"flags/4x3/vi-58311325a293b046044976d899f288ce0fbe9bfd705a23947a9b38d7991983d7.svg":{"logical_path":"flags/4x3/vi.svg","mtime":"2020-01-07T21:15:22+01:00","size":8775,"digest":"58311325a293b046044976d899f288ce0fbe9bfd705a23947a9b38d7991983d7","integrity":"sha256-WDETJaKTsEYESXbYmfKIzg++m/1wWiOUeps415kZg9c="},"flags/1x1/vi-1c132d2cff66cdbdb7b6acf504bb0cd9d7579595d80c3fa6604ff24ca7a0184d.svg":{"logical_path":"flags/1x1/vi.svg","mtime":"2020-01-07T21:15:22+01:00","size":8730,"digest":"1c132d2cff66cdbdb7b6acf504bb0cd9d7579595d80c3fa6604ff24ca7a0184d","integrity":"sha256-HBMtLP9mzb23tqz1BLsM2ddXlZXYDD+mYE/yTKegGE0="},"flags/4x3/vn-a918d3c9cdc368b1d2ff9614d58cbcd1d43b725889b0ba18f5d4e693071e389a.svg":{"logical_path":"flags/4x3/vn.svg","mtime":"2020-01-07T21:15:22+01:00","size":492,"digest":"a918d3c9cdc368b1d2ff9614d58cbcd1d43b725889b0ba18f5d4e693071e389a","integrity":"sha256-qRjTyc3DaLHS/5YU1Yy80dQ7cliJsLoY9dTmkwceOJo="},"flags/1x1/vn-895e428ae3d98c99dbb02088cf8ef040bfb031df6f16c3c8fc3678505d869791.svg":{"logical_path":"flags/1x1/vn.svg","mtime":"2020-01-07T21:15:22+01:00","size":501,"digest":"895e428ae3d98c99dbb02088cf8ef040bfb031df6f16c3c8fc3678505d869791","integrity":"sha256-iV5CiuPZjJnbsCCIz47wQL+wMd9vFsPI/DZ4UF2Gl5E="},"flags/4x3/vu-2c286c778a7bed03cb603ab24b68dc91868f4f054cf4f851bdd17aa16731571c.svg":{"logical_path":"flags/4x3/vu.svg","mtime":"2020-01-07T21:15:22+01:00","size":3771,"digest":"2c286c778a7bed03cb603ab24b68dc91868f4f054cf4f851bdd17aa16731571c","integrity":"sha256-LChsd4p77QPLYDqyS2jckYaPTwVM9PhRvdF6oWcxVxw="},"flags/1x1/vu-51ef23121e2641ebeeac50d31c4e52b7d00d3ab1bc9fc0ad95ea86fd3631975a.svg":{"logical_path":"flags/1x1/vu.svg","mtime":"2020-01-07T21:15:22+01:00","size":3740,"digest":"51ef23121e2641ebeeac50d31c4e52b7d00d3ab1bc9fc0ad95ea86fd3631975a","integrity":"sha256-Ue8jEh4mQevurFDTHE5St9ANOrG8n8CtleqG/TYxl1o="},"flags/4x3/wf-f7e9ac5edac196ac32d7bafa04b5c0d924b89e9d7e4f3535a6a26c6c1523639c.svg":{"logical_path":"flags/4x3/wf.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"f7e9ac5edac196ac32d7bafa04b5c0d924b89e9d7e4f3535a6a26c6c1523639c","integrity":"sha256-9+msXtrBlqwy17r6BLXA2SS4np1+TzU1pqJsbBUjY5w="},"flags/1x1/wf-95a920a79aa32d92f8a362321aae4230e17025ac04d976593f4423d0c37c1aee.svg":{"logical_path":"flags/1x1/wf.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"95a920a79aa32d92f8a362321aae4230e17025ac04d976593f4423d0c37c1aee","integrity":"sha256-lakgp5qjLZL4o2IyGq5CMOFwJawE2XZZP0Qj0MN8Gu4="},"flags/4x3/ws-efc6505a802a3fa2018bc102fc2e11db8c738464c619381b6edc32d0a89341a3.svg":{"logical_path":"flags/4x3/ws.svg","mtime":"2020-01-07T21:15:22+01:00","size":663,"digest":"efc6505a802a3fa2018bc102fc2e11db8c738464c619381b6edc32d0a89341a3","integrity":"sha256-78ZQWoAqP6IBi8EC/C4R24xzhGTGGTgbbtwy0KiTQaM="},"flags/1x1/ws-e3afb81c037c814620027bf61ac5e266683cab7ba5796ecf10b64c110cfcb932.svg":{"logical_path":"flags/1x1/ws.svg","mtime":"2020-01-07T21:15:22+01:00","size":645,"digest":"e3afb81c037c814620027bf61ac5e266683cab7ba5796ecf10b64c110cfcb932","integrity":"sha256-46+4HAN8gUYgAnv2GsXiZmg8q3uleW7PELZMEQz8uTI="},"flags/4x3/ye-fd88856e70d66b01b4f0f608936a61cf3b1d9dad40a2932fc5da4d01f72a447b.svg":{"logical_path":"flags/4x3/ye.svg","mtime":"2020-01-07T21:15:22+01:00","size":278,"digest":"fd88856e70d66b01b4f0f608936a61cf3b1d9dad40a2932fc5da4d01f72a447b","integrity":"sha256-/YiFbnDWawG08PYIk2phzzsdna1AopMvxdpNAfcqRHs="},"flags/1x1/ye-0c0e32330871e6d83af54affb7dadbbe736f9799068508211fbae54db9bbdcc6.svg":{"logical_path":"flags/1x1/ye.svg","mtime":"2020-01-07T21:15:22+01:00","size":278,"digest":"0c0e32330871e6d83af54affb7dadbbe736f9799068508211fbae54db9bbdcc6","integrity":"sha256-DA4yMwhx5tg69Ur/t9rbvnNvl5kGhQghH7rlTbm73MY="},"flags/4x3/yt-2eef17b543424082d9f9b42a67e84c20b52e7f7eae8c4326d60711158da51d5b.svg":{"logical_path":"flags/4x3/yt.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"2eef17b543424082d9f9b42a67e84c20b52e7f7eae8c4326d60711158da51d5b","integrity":"sha256-Lu8XtUNCQILZ+bQqZ+hMILUuf36ujEMm1gcRFY2lHVs="},"flags/1x1/yt-911da8075337fd8f75ecc8a338c294cb771c6b9a08576f96c9de1437888cd2a7.svg":{"logical_path":"flags/1x1/yt.svg","mtime":"2020-01-07T21:15:22+01:00","size":295,"digest":"911da8075337fd8f75ecc8a338c294cb771c6b9a08576f96c9de1437888cd2a7","integrity":"sha256-kR2oB1M3/Y917MijOMKUy3cca5oIV2+Wyd4UN4iM0qc="},"flags/4x3/za-45991a2aee307198510e56bf92523070aac4241cafe6c3ddb8f89b20a61d6371.svg":{"logical_path":"flags/4x3/za.svg","mtime":"2020-01-07T21:15:22+01:00","size":856,"digest":"45991a2aee307198510e56bf92523070aac4241cafe6c3ddb8f89b20a61d6371","integrity":"sha256-RZkaKu4wcZhRDla/klIwcKrEJByv5sPduPibIKYdY3E="},"flags/1x1/za-bc09a89b29311ea7e582ef60bf4e18aff7c29de6fbefe309463ca765723a0ce8.svg":{"logical_path":"flags/1x1/za.svg","mtime":"2020-01-07T21:15:22+01:00","size":875,"digest":"bc09a89b29311ea7e582ef60bf4e18aff7c29de6fbefe309463ca765723a0ce8","integrity":"sha256-vAmomykxHqflgu9gv04Yr/fCneb77+MJRjynZXI6DOg="},"flags/4x3/zm-07c0f30d86e66d0cad9d66cd9c9384d9cce1844f159d245deff6717101fe49c2.svg":{"logical_path":"flags/4x3/zm.svg","mtime":"2020-01-07T21:15:22+01:00","size":5508,"digest":"07c0f30d86e66d0cad9d66cd9c9384d9cce1844f159d245deff6717101fe49c2","integrity":"sha256-B8DzDYbmbQytnWbNnJOE2czhhE8VnSRd7/ZxcQH+ScI="},"flags/1x1/zm-fc5bce3834c71fe36617ea5f57f0bd1dcf3880a7c6aa515dcf92ae067f796241.svg":{"logical_path":"flags/1x1/zm.svg","mtime":"2020-01-07T21:15:22+01:00","size":5429,"digest":"fc5bce3834c71fe36617ea5f57f0bd1dcf3880a7c6aa515dcf92ae067f796241","integrity":"sha256-/FvOODTHH+NmF+pfV/C9Hc84gKfGqlFdz5KuBn95YkE="},"flags/4x3/zw-5217c74f14d9fdda244b69c5982bbabee052ac0f1cc0704926e8b1e621e50f9a.svg":{"logical_path":"flags/4x3/zw.svg","mtime":"2020-01-07T21:15:22+01:00","size":6791,"digest":"5217c74f14d9fdda244b69c5982bbabee052ac0f1cc0704926e8b1e621e50f9a","integrity":"sha256-UhfHTxTZ/dokS2nFmCu6vuBSrA8cwHBJJuix5iHlD5o="},"flags/1x1/zw-a33b191c631709b9e1d85e06f5b15535fb544d4668c8bef865ede2a0b6a88ed9.svg":{"logical_path":"flags/1x1/zw.svg","mtime":"2020-01-07T21:15:22+01:00","size":6770,"digest":"a33b191c631709b9e1d85e06f5b15535fb544d4668c8bef865ede2a0b6a88ed9","integrity":"sha256-ozsZHGMXCbnh2F4G9bFVNftUTUZoyL74Ze3ioLaojtk="},"flags/4x3/es-ct-bcbb454a50c9a647efd43dcf041445f15e8dd70654bde530bf62401d4fb7738d.svg":{"logical_path":"flags/4x3/es-ct.svg","mtime":"2020-01-07T21:15:22+01:00","size":261,"digest":"bcbb454a50c9a647efd43dcf041445f15e8dd70654bde530bf62401d4fb7738d","integrity":"sha256-vLtFSlDJpkfv1D3PBBRF8V6N1wZUveUwv2JAHU+3c40="},"flags/1x1/es-ct-7f13eb2b2f5c11dccd7043286bed7540d4dad4b1a8367b0aca1b8405a351b2ef.svg":{"logical_path":"flags/1x1/es-ct.svg","mtime":"2020-01-07T21:15:22+01:00","size":260,"digest":"7f13eb2b2f5c11dccd7043286bed7540d4dad4b1a8367b0aca1b8405a351b2ef","integrity":"sha256-fxPrKy9cEdzNcEMoa+11QNTa1LGoNnsKyhuEBaNRsu8="},"flags/4x3/eu-5f129db64306353251b78f998d531d2f1019404cfa890ae63ed70dc316c7f240.svg":{"logical_path":"flags/4x3/eu.svg","mtime":"2020-01-07T21:15:22+01:00","size":1252,"digest":"5f129db64306353251b78f998d531d2f1019404cfa890ae63ed70dc316c7f240","integrity":"sha256-XxKdtkMGNTJRt4+ZjVMdLxAZQEz6iQrmPtcNwxbH8kA="},"flags/1x1/eu-ec59ac8daf2a63ea8e299ad63a208445d68a96affe6a10a7328acb6799d44127.svg":{"logical_path":"flags/1x1/eu.svg","mtime":"2020-01-07T21:15:22+01:00","size":1253,"digest":"ec59ac8daf2a63ea8e299ad63a208445d68a96affe6a10a7328acb6799d44127","integrity":"sha256-7Fmsja8qY+qOKZrWOiCERdaKlq/+ahCnMorLZ5nUQSc="},"flags/4x3/gb-eng-1895f4e35ae299f5d869da2462ffcf98df4b08dcddc531c8f175e49720001a14.svg":{"logical_path":"flags/4x3/gb-eng.svg","mtime":"2020-01-07T21:15:22+01:00","size":245,"digest":"1895f4e35ae299f5d869da2462ffcf98df4b08dcddc531c8f175e49720001a14","integrity":"sha256-GJX041rimfXYadokYv/PmN9LCNzdxTHI8XXklyAAGhQ="},"flags/1x1/gb-eng-d11afb87f40f35acda435a886ea044bd5e0b6f363ba0c7319f1d0181551fecf3.svg":{"logical_path":"flags/1x1/gb-eng.svg","mtime":"2020-01-07T21:15:22+01:00","size":235,"digest":"d11afb87f40f35acda435a886ea044bd5e0b6f363ba0c7319f1d0181551fecf3","integrity":"sha256-0Rr7h/QPNazaQ1qIbqBEvV4LbzY7oMcxnx0BgVUf7PM="},"flags/4x3/gb-nir-b280f09c787f495c1074376cd67537b40216f672917e7d204bb12b8e7c72afaf.svg":{"logical_path":"flags/4x3/gb-nir.svg","mtime":"2020-01-07T21:15:22+01:00","size":23738,"digest":"b280f09c787f495c1074376cd67537b40216f672917e7d204bb12b8e7c72afaf","integrity":"sha256-soDwnHh/SVwQdDds1nU3tAIW9nKRfn0gS7Erjnxyr68="},"flags/1x1/gb-nir-2e516e72e0e8e244ef430e6608322f8c4fb276807ab033279b2a6570dd68fd41.svg":{"logical_path":"flags/1x1/gb-nir.svg","mtime":"2020-01-07T21:15:22+01:00","size":25263,"digest":"2e516e72e0e8e244ef430e6608322f8c4fb276807ab033279b2a6570dd68fd41","integrity":"sha256-LlFucuDo4kTvQw5mCDIvjE+ydoB6sDMnmyplcN1o/UE="},"flags/4x3/gb-sct-1b9e407802ae901cf8da740c382ec2b19821837d76271a73346e0c63c2244506.svg":{"logical_path":"flags/4x3/gb-sct.svg","mtime":"2020-01-07T21:15:22+01:00","size":234,"digest":"1b9e407802ae901cf8da740c382ec2b19821837d76271a73346e0c63c2244506","integrity":"sha256-G55AeAKukBz42nQMOC7CsZghg312JxpzNG4MY8IkRQY="},"flags/1x1/gb-sct-d01e8a06a340e30ce52e8a3aba7ca6207afb96fdb238a815cc6cb92df8fa5df3.svg":{"logical_path":"flags/1x1/gb-sct.svg","mtime":"2020-01-07T21:15:22+01:00","size":242,"digest":"d01e8a06a340e30ce52e8a3aba7ca6207afb96fdb238a815cc6cb92df8fa5df3","integrity":"sha256-0B6KBqNA4wzlLoo6unymIHr7lv2yOKgVzGy5Lfj6XfM="},"flags/4x3/gb-wls-5232b3e376a19866cddec8225cba242783b2a48063811957f1ce5a2c347c5bc9.svg":{"logical_path":"flags/4x3/gb-wls.svg","mtime":"2020-01-07T21:15:22+01:00","size":9188,"digest":"5232b3e376a19866cddec8225cba242783b2a48063811957f1ce5a2c347c5bc9","integrity":"sha256-UjKz43ahmGbN3sgiXLokJ4OypIBjgRlX8c5aLDR8W8k="},"flags/1x1/gb-wls-126615bc3597fda1ca4ee931ef24f6c2cf2547998c06db9c1ded69fe66c479e9.svg":{"logical_path":"flags/1x1/gb-wls.svg","mtime":"2020-01-07T21:15:22+01:00","size":9083,"digest":"126615bc3597fda1ca4ee931ef24f6c2cf2547998c06db9c1ded69fe66c479e9","integrity":"sha256-EmYVvDWX/aHKTukx7yT2ws8lR5mMBtucHe1p/mbEeek="},"flags/4x3/un-31dece22ae18c3e01e86648ef3ef45f2f5b3d9d28a1e2bbbcdb1d87c37af55af.svg":{"logical_path":"flags/4x3/un.svg","mtime":"2020-01-07T21:15:22+01:00","size":20268,"digest":"31dece22ae18c3e01e86648ef3ef45f2f5b3d9d28a1e2bbbcdb1d87c37af55af","integrity":"sha256-Md7OIq4Yw+AehmSO8+9F8vWz2dKKHiu7zbHYfDevVa8="},"flags/1x1/un-455b5f3173ca9ac64f2135fac4ead7217d7fbe07551d0d2cc60216f83208f798.svg":{"logical_path":"flags/1x1/un.svg","mtime":"2020-01-07T21:15:22+01:00","size":20476,"digest":"455b5f3173ca9ac64f2135fac4ead7217d7fbe07551d0d2cc60216f83208f798","integrity":"sha256-RVtfMXPKmsZPITX6xOrXIX1/vgdVHQ0sxgIW+DII95g="},"leaflet/dist/images/layers-1dbbe9d028e292f36fcba8f8b3a28d5e8932754fc2215b9ac69e4cdecf5107c6.png":{"logical_path":"leaflet/dist/images/layers.png","mtime":"2020-01-07T21:15:22+01:00","size":696,"digest":"1dbbe9d028e292f36fcba8f8b3a28d5e8932754fc2215b9ac69e4cdecf5107c6","integrity":"sha256-Hbvp0CjikvNvy6j4s6KNXokydU/CIVuaxp5M3s9RB8Y="},"leaflet/dist/images/layers-2x-066daca850d8ffbef007af00b06eac0015728dee279c51f3cb6c716df7c42edf.png":{"logical_path":"leaflet/dist/images/layers-2x.png","mtime":"2020-01-07T21:15:22+01:00","size":1259,"digest":"066daca850d8ffbef007af00b06eac0015728dee279c51f3cb6c716df7c42edf","integrity":"sha256-Bm2sqFDY/77wB68AsG6sABVyje4nnFHzy2xxbffELt8="},"leaflet/dist/images/marker-icon-574c3a5cca85f4114085b6841596d62f00d7c892c7b03f28cbfa301deb1dc437.png":{"logical_path":"leaflet/dist/images/marker-icon.png","mtime":"2020-01-07T21:15:22+01:00","size":1466,"digest":"574c3a5cca85f4114085b6841596d62f00d7c892c7b03f28cbfa301deb1dc437","integrity":"sha256-V0w6XMqF9BFAhbaEFZbWLwDXyJLHsD8oy/owHesdxDc="},"markers-soft-e78784e4ed70aaffddd73c315fab590233cc4e7b72388d7dd47a14796fc7c739.png":{"logical_path":"markers-soft.png","mtime":"2020-01-07T21:15:22+01:00","size":41226,"digest":"e78784e4ed70aaffddd73c315fab590233cc4e7b72388d7dd47a14796fc7c739","integrity":"sha256-54eE5O1wqv/d1zwxX6tZAjPMTntyOI191HoUeW/Hxzk="},"markers-shadow-8703a2262710f5e3d29e65d2acdf90d6512e159e119d27b8234731d8a6208a20.png":{"logical_path":"markers-shadow.png","mtime":"2020-01-07T21:15:22+01:00","size":535,"digest":"8703a2262710f5e3d29e65d2acdf90d6512e159e119d27b8234731d8a6208a20","integrity":"sha256-hwOiJicQ9ePSnmXSrN+Q1lEuFZ4RnSe4I0cx2KYgiiA="},"markers-soft@2x-c1e77253a8bfbe30cec24885d7046f443b76ebb66f4c961f77083b03f4a5cbaf.png":{"logical_path":"markers-soft@2x.png","mtime":"2020-01-07T21:15:22+01:00","size":66408,"digest":"c1e77253a8bfbe30cec24885d7046f443b76ebb66f4c961f77083b03f4a5cbaf","integrity":"sha256-wedyU6i/vjDOwkiF1wRvRDt267ZvTJYfdwg7A/Sly68="},"markers-shadow@2x-b21a536be27313fb504f69f5899ff0b1245b276571769ac08d6c32c35676e47a.png":{"logical_path":"markers-shadow@2x.png","mtime":"2020-01-07T21:15:22+01:00","size":1469,"digest":"b21a536be27313fb504f69f5899ff0b1245b276571769ac08d6c32c35676e47a","integrity":"sha256-shpTa+JzE/tQT2n1iZ/wsSRbJ2VxdprAjWwyw1Z25Ho="},"events-f12a16c68c84767cfc222c763d56e2209bc4d5ad519f05095f2d4429c0b1a315.js":{"logical_path":"events.js","mtime":"2020-01-07T21:15:22+01:00","size":1220,"digest":"f12a16c68c84767cfc222c763d56e2209bc4d5ad519f05095f2d4429c0b1a315","integrity":"sha256-8SoWxoyEdnz8Iix2PVbiIJvE1a1RnwUJXy1EKcCxoxU="},"filter-2ec96b9d0c650c880941d7e9fd568decd1d587dc037d106144a07ad103b0e0ca.js":{"logical_path":"filter.js","mtime":"2020-01-07T21:15:22+01:00","size":292,"digest":"2ec96b9d0c650c880941d7e9fd568decd1d587dc037d106144a07ad103b0e0ca","integrity":"sha256-LslrnQxlDIgJQdfp/VaN7NHVh9wDfRBhRKB60QOw4Mo="},"flash-41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7.js":{"logical_path":"flash.js","mtime":"2020-01-07T21:15:22+01:00","size":82,"digest":"41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7","integrity":"sha256-QfW5Ugb3poS4nrmXhGoBFV+UqwtlaLQnVwTT8oX1mdc="},"frTypo-fed98b7d2ce187c2a3cff9153ac6aa2dbf7b91d33809da77c6561ff34d1be836.js":{"logical_path":"frTypo.js","mtime":"2020-01-07T21:15:22+01:00","size":1962,"digest":"fed98b7d2ce187c2a3cff9153ac6aa2dbf7b91d33809da77c6561ff34d1be836","integrity":"sha256-/tmLfSzhh8Kjz/kVOsaqLb97kdM4Cdp3xlYf800b6DY="},"list-41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7.js":{"logical_path":"list.js","mtime":"2020-01-07T21:15:22+01:00","size":82,"digest":"41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7","integrity":"sha256-QfW5Ugb3poS4nrmXhGoBFV+UqwtlaLQnVwTT8oX1mdc="},"maps-e86261c3df6f4ff292d786ab7261c98c408f466557b2f4915ae6dc25c1a05819.js":{"logical_path":"maps.js","mtime":"2020-01-07T21:15:22+01:00","size":3970,"digest":"e86261c3df6f4ff292d786ab7261c98c408f466557b2f4915ae6dc25c1a05819","integrity":"sha256-6GJhw99vT/KS14arcmHJjECPRmVXsvSRWubcJcGgWBk="},"moderations-c5471afdd75123fdbb36ee14b85e6633c8127d0c115e35931616c329a8605380.js":{"logical_path":"moderations.js","mtime":"2020-01-07T21:15:22+01:00","size":377,"digest":"c5471afdd75123fdbb36ee14b85e6633c8127d0c115e35931616c329a8605380","integrity":"sha256-xUca/ddRI/27Nu4UuF5mM8gSfQwRXjWTFhbDKahgU4A="},"notes-85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb.js":{"logical_path":"notes.js","mtime":"2020-01-07T21:15:22+01:00","size":31,"digest":"85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb","integrity":"sha256-hYGcc4kg1P4+a4lxZ4hZDSey20sRgCwKDN1Iuu+xj8s="},"orgas-85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb.js":{"logical_path":"orgas.js","mtime":"2020-01-07T21:15:22+01:00","size":31,"digest":"85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb","integrity":"sha256-hYGcc4kg1P4+a4lxZ4hZDSey20sRgCwKDN1Iuu+xj8s="},"pages-9dcc8cb3626a9f198ab95f9e64bb4d269167a7405dd07f94140f5ec6d32b6084.js":{"logical_path":"pages.js","mtime":"2020-01-07T21:15:22+01:00","size":694,"digest":"9dcc8cb3626a9f198ab95f9e64bb4d269167a7405dd07f94140f5ec6d32b6084","integrity":"sha256-ncyMs2JqnxmKuV+eZLtNJpFnp0Bd0H+UFA9extMrYIQ="},"pagination-ab6b8afabe3d53764287ed9d0ee9d4b7092cab98cdfb453a54471066fed05aa5.js":{"logical_path":"pagination.js","mtime":"2020-01-07T21:15:22+01:00","size":728,"digest":"ab6b8afabe3d53764287ed9d0ee9d4b7092cab98cdfb453a54471066fed05aa5","integrity":"sha256-q2uK+r49U3ZCh+2dDunUtwksq5jN+0U6VEcQZv7QWqU="},"setup_tinymce-f15efe5d488b3807165ccb6d0b237be3ba234c67200d309a1fa9dc4bf0d2ee08.js":{"logical_path":"setup_tinymce.js","mtime":"2019-12-22T12:30:30+01:00","size":1033,"digest":"f15efe5d488b3807165ccb6d0b237be3ba234c67200d309a1fa9dc4bf0d2ee08","integrity":"sha256-8V7+XUiLOAcWXMttCyN747ojTGcgDTCaH6ncS/DS7gg="},"stats-40295d647e6144715bc9fb45f60096ddff913afddf11844aeacda47cbed68400.js":{"logical_path":"stats.js","mtime":"2020-01-07T21:15:22+01:00","size":908,"digest":"40295d647e6144715bc9fb45f60096ddff913afddf11844aeacda47cbed68400","integrity":"sha256-QCldZH5hRHFbyftF9gCW3f+ROv3fEYRK6s2kfL7WhAA="},"_variables-d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6.css":{"logical_path":"_variables.css","mtime":"2020-01-07T21:15:22+01:00","size":0,"digest":"d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6","integrity":"sha256-0P9ZdLaqUs9WK+pZIYQMAyqGCpGjUS9/6Pdo9rvgBfY="},"agendadescommuns-734d24884af76ee167fcf102dbdbec43e5b2726e65f40c350ad3800f7ee99f55.css":{"logical_path":"agendadescommuns.css","mtime":"2020-01-07T21:15:22+01:00","size":939,"digest":"734d24884af76ee167fcf102dbdbec43e5b2726e65f40c350ad3800f7ee99f55","integrity":"sha256-c00kiEr3buFn/PEC29vsQ+Wycm5l9Aw1CtOAD37pn1U="},"all-a55a9ed762f8344ecd74346308ae7066a283d34302fbce1ef5924ad5ce19bb27.css":{"logical_path":"all.css","mtime":"2020-01-07T21:15:22+01:00","size":2745,"digest":"a55a9ed762f8344ecd74346308ae7066a283d34302fbce1ef5924ad5ce19bb27","integrity":"sha256-pVqe12L4NE7NdDRjCK5wZqKD00MC+84e9ZJK1c4Zuyc="},"digest-e13dd03a72165cef5027b81a774f458fe1a6910d2baaae84bae560b3199a77c3.css":{"logical_path":"digest.css","mtime":"2020-01-07T21:15:22+01:00","size":304,"digest":"e13dd03a72165cef5027b81a774f458fe1a6910d2baaae84bae560b3199a77c3","integrity":"sha256-4T3QOnIWXO9QJ7gad09Fj+GmkQ0rqq6EuuVgsxmad8M="},"events-bb56649a8c5b11d0b8005a8e23e7560f34d7b79fcccccffe4a1407102cfffed6.css":{"logical_path":"events.css","mtime":"2020-01-07T21:15:22+01:00","size":3191,"digest":"bb56649a8c5b11d0b8005a8e23e7560f34d7b79fcccccffe4a1407102cfffed6","integrity":"sha256-u1ZkmoxbEdC4AFqOI+dWDzTXt5/MzM/+ShQHECz//tY="},"form-f1da5f65f35af4489cf79067f5c0409ae5d9e41aa8286fcfef13727fd46aa988.css":{"logical_path":"form.css","mtime":"2020-01-07T21:15:22+01:00","size":65684,"digest":"f1da5f65f35af4489cf79067f5c0409ae5d9e41aa8286fcfef13727fd46aa988","integrity":"sha256-8dpfZfNa9Eic95Bn9cBAmuXZ5BqoKG/P7xNyf9RqqYg="},"frTypo-ebcaa45fa7c0bf7821d05959aaceda63d26a30d30079e70619932b0e1d49f512.css":{"logical_path":"frTypo.css","mtime":"2020-01-07T21:15:22+01:00","size":76,"digest":"ebcaa45fa7c0bf7821d05959aaceda63d26a30d30079e70619932b0e1d49f512","integrity":"sha256-68qkX6fAv3gh0FlZqs7aY9JqMNMAeecGGZMrDh1J9RI="},"list-2a097a62ec89bc6d4d544dc4a4e4a1258b470b755ad0ad694b9f5b3cf4782f67.css":{"logical_path":"list.css","mtime":"2019-12-25T17:18:51+01:00","size":923,"digest":"2a097a62ec89bc6d4d544dc4a4e4a1258b470b755ad0ad694b9f5b3cf4782f67","integrity":"sha256-Kgl6YuyJvG1NVE3EpOShJYtHC3Va0K1pS59bPPR4L2c="},"maps-644829bf7b14b0c1b73efb7b2d44049969271bd969174b5bf7c53d0159cf424c.css":{"logical_path":"maps.css","mtime":"2020-01-07T21:15:22+01:00","size":536,"digest":"644829bf7b14b0c1b73efb7b2d44049969271bd969174b5bf7c53d0159cf424c","integrity":"sha256-ZEgpv3sUsMG3Pvt7LUQEmWknG9lpF0tb98U9AVnPQkw="},"mobile-59b7aeed8e7ee6e2ced7bb7a6f26ae9e4e2ed3c514a584c0e706128b4ad7fe36.css":{"logical_path":"mobile.css","mtime":"2020-01-07T21:15:22+01:00","size":2414,"digest":"59b7aeed8e7ee6e2ced7bb7a6f26ae9e4e2ed3c514a584c0e706128b4ad7fe36","integrity":"sha256-Wbeu7Y5+5uLO17t6byaunk4u08UUpYTA5wYSi0rX/jY="},"moderations-f561bf2c27715b6015b7dce1af2ce2358f05ca4d62794d199e3b2cdaec0be8f4.css":{"logical_path":"moderations.css","mtime":"2019-12-22T12:30:30+01:00","size":898,"digest":"f561bf2c27715b6015b7dce1af2ce2358f05ca4d62794d199e3b2cdaec0be8f4","integrity":"sha256-9WG/LCdxW2AVt9zhryziNY8Fyk1ieU0Znjss2uwL6PQ="},"notes-e607250b9cef023a762c009acc65c3320ec1f6d5814a30aa3c1ba907b4f8cb5f.css":{"logical_path":"notes.css","mtime":"2020-01-07T21:15:22+01:00","size":37,"digest":"e607250b9cef023a762c009acc65c3320ec1f6d5814a30aa3c1ba907b4f8cb5f","integrity":"sha256-5gclC5zvAjp2LACazGXDMg7B9tWBSjCqPBupB7T4y18="},"orgas-dd7a2a3fc67e9fa14675e1b59263b8f83e052274d6b900875b0ee4494143ad80.css":{"logical_path":"orgas.css","mtime":"2020-01-07T21:15:22+01:00","size":672,"digest":"dd7a2a3fc67e9fa14675e1b59263b8f83e052274d6b900875b0ee4494143ad80","integrity":"sha256-3XoqP8Z+n6FGdeG1kmO4+D4FInTWuQCHWw7kSUFDrYA="},"pages-5eed9147c9cfe84eb1299bc0ca0d8b0c81fb0c07ecb38e26949e7d4e483746e2.css":{"logical_path":"pages.css","mtime":"2020-01-07T21:15:22+01:00","size":75,"digest":"5eed9147c9cfe84eb1299bc0ca0d8b0c81fb0c07ecb38e26949e7d4e483746e2","integrity":"sha256-Xu2RR8nP6E6xKZvAyg2LDIH7DAfss44mlJ59Tkg3RuI="},"region-d285b5ecdf6d5b5ee68faac92854e4868a609e5509b90e90047178ac45649153.css":{"logical_path":"region.css","mtime":"2019-12-22T12:30:30+01:00","size":1903,"digest":"d285b5ecdf6d5b5ee68faac92854e4868a609e5509b90e90047178ac45649153","integrity":"sha256-0oW17N9tW17mj6rJKFTkhopgnlUJuQ6QBHF4rEVkkVM="},"scaffolds-c26fee551087c3b72541cae52a1cc6b454f153e2d04c01d4b35b9ec1ae6cf09b.css":{"logical_path":"scaffolds.css","mtime":"2020-01-07T21:15:22+01:00","size":430,"digest":"c26fee551087c3b72541cae52a1cc6b454f153e2d04c01d4b35b9ec1ae6cf09b","integrity":"sha256-wm/uVRCHw7clQcrlKhzGtFTxU+LQTAHUs1uewa5s8Js="},"sessions-d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6.css":{"logical_path":"sessions.css","mtime":"2020-01-07T21:15:22+01:00","size":0,"digest":"d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6","integrity":"sha256-0P9ZdLaqUs9WK+pZIYQMAyqGCpGjUS9/6Pdo9rvgBfY="},"stats-b4f6f94d2f8dc057ec80c9ceeeaca31517882a8fd0b9f09d5f285896414c8685.css":{"logical_path":"stats.css","mtime":"2019-12-22T12:30:30+01:00","size":371,"digest":"b4f6f94d2f8dc057ec80c9ceeeaca31517882a8fd0b9f09d5f285896414c8685","integrity":"sha256-tPb5TS+NwFfsgMnO7qyjFReIKo/QufCdXyhYlkFMhoU="},"tags-c338d658bc3a1e40d8c6694d1fab6a633686ccc2c626563f890384fab38c20f0.css":{"logical_path":"tags.css","mtime":"2020-01-07T21:15:22+01:00","size":1399,"digest":"c338d658bc3a1e40d8c6694d1fab6a633686ccc2c626563f890384fab38c20f0","integrity":"sha256-wzjWWLw6HkDYxmlNH6tqYzaGzMLGJlY/iQOE+rOMIPA="},"versions-3e2a6ffdc6f7728b0e5e517a208c4d1a72167a6d4da6bc4d36db4941150926bb.css":{"logical_path":"versions.css","mtime":"2020-01-07T21:15:22+01:00","size":47,"digest":"3e2a6ffdc6f7728b0e5e517a208c4d1a72167a6d4da6bc4d36db4941150926bb","integrity":"sha256-Pipv/cb3cosOXlF6IIxNGnIWem1NprxNNttJQRUJJrs="},"application-6b0077e2b1b028a9968bff6fdbdebe5b37dd002896e7d4347fbf021c89927562.js":{"logical_path":"application.js","mtime":"2019-12-25T17:18:50+01:00","size":2001537,"digest":"6b0077e2b1b028a9968bff6fdbdebe5b37dd002896e7d4347fbf021c89927562","integrity":"sha256-awB34rGwKKmWi/9v296+WzfdACiW59Q0f78CHImSdWI="},"application-1026d28c200fb525d92a5552bc812bd5f0277f5a854b5d3cf9ac3d6fe66bc465.css":{"logical_path":"application.css","mtime":"2019-12-25T17:18:51+01:00","size":232293,"digest":"1026d28c200fb525d92a5552bc812bd5f0277f5a854b5d3cf9ac3d6fe66bc465","integrity":"sha256-ECbSjCAPtSXZKlVSvIEr1fAnf1qFS108+aw9b+ZrxGU="},"setup_tinymce-4e26b56d48453796509fb70dc4176cac5d18aa582260cd665efe0f192886ca4c.js":{"logical_path":"setup_tinymce.js","mtime":"2019-12-25T17:18:51+01:00","size":1033,"digest":"4e26b56d48453796509fb70dc4176cac5d18aa582260cd665efe0f192886ca4c","integrity":"sha256-Tia1bUhFN5ZQn7cNxBdsrF0YqlgiYM1mXv4PGSiGykw="},"moderations-d96d93c516d69b280e4d312ec96d2c13f3650e03c57cc08bf582b2d26bf2882e.css":{"logical_path":"moderations.css","mtime":"2019-12-25T17:18:51+01:00","size":939,"digest":"d96d93c516d69b280e4d312ec96d2c13f3650e03c57cc08bf582b2d26bf2882e","integrity":"sha256-2W2TxRbWmygOTTEuyW0sE/NlDgPFfMCL9YKy0mvyiC4="},"region-0d416c6171a588eb6a1a40642f2984f08b0b205d2eab077b12bd859fd60cef3e.css":{"logical_path":"region.css","mtime":"2020-01-07T21:15:22+01:00","size":1871,"digest":"0d416c6171a588eb6a1a40642f2984f08b0b205d2eab077b12bd859fd60cef3e","integrity":"sha256-DUFsYXGliOtqGkBkLymE8IsLIF0uqwd7Er2Fn9YM7z4="},"stats-e46b6e6ffdd66de16d29c029216debae3fc6f81d83e21bc8be2700df34cb4f20.css":{"logical_path":"stats.css","mtime":"2019-12-25T17:18:51+01:00","size":403,"digest":"e46b6e6ffdd66de16d29c029216debae3fc6f81d83e21bc8be2700df34cb4f20","integrity":"sha256-5Gtub/3WbeFtKcApIW3rrj/G+B2D4hvIvicA3zTLTyA="},"active_admin-dec69308746afc6dbd02775421aa3e1f79637faf69ee5142205b51e446e82b71.css":{"logical_path":"active_admin.css","mtime":"2020-01-07T21:15:21+01:00","size":107471,"digest":"dec69308746afc6dbd02775421aa3e1f79637faf69ee5142205b51e446e82b71","integrity":"sha256-3saTCHRq/G29AndUIao+H3ljf69p7lFCIFtR5EboK3E="},"application-fb731c41db1a05bf805327a9592adeebe78029f52947b9410e3cf935ee82fbd0.js":{"logical_path":"application.js","mtime":"2020-01-07T21:15:21+01:00","size":2001537,"digest":"fb731c41db1a05bf805327a9592adeebe78029f52947b9410e3cf935ee82fbd0","integrity":"sha256-+3McQdsaBb+AUyepWSre6+eAKfUpR7lBDjz5Ne6C+9A="},"application-8002eadc07c8d58b56bad6f45a5e2607344c903abacfe94121bd35aa25f764a8.css":{"logical_path":"application.css","mtime":"2020-01-07T21:15:22+01:00","size":232365,"digest":"8002eadc07c8d58b56bad6f45a5e2607344c903abacfe94121bd35aa25f764a8","integrity":"sha256-gALq3AfI1YtWutb0Wl4mBzRMkDq6z+lBIb01qiX3ZKg="},"setup_tinymce-d8387e12966ef5097652a4d0a20baeea770fe700706c5bb25be979bcd361aa4b.js":{"logical_path":"setup_tinymce.js","mtime":"2020-01-07T21:15:22+01:00","size":1033,"digest":"d8387e12966ef5097652a4d0a20baeea770fe700706c5bb25be979bcd361aa4b","integrity":"sha256-2Dh+EpZu9Ql2UqTQoguu6ncP5wBwbFuyW+l5vNNhqks="},"list-d5aed2f96e49ce444974d43fb9d53d43f2ae1f5bb5b1716e5dc245447fd64316.css":{"logical_path":"list.css","mtime":"2020-01-07T21:15:22+01:00","size":853,"digest":"d5aed2f96e49ce444974d43fb9d53d43f2ae1f5bb5b1716e5dc245447fd64316","integrity":"sha256-1a7S+W5JzkRJdNQ/udU9Q/KuH1u1sXFuXcJFRH/WQxY="},"moderations-ede8f4f2808ab572908780f2daea2ea4e76b1d0b0c5735d744bb7cc51fb69895.css":{"logical_path":"moderations.css","mtime":"2020-01-07T21:15:22+01:00","size":979,"digest":"ede8f4f2808ab572908780f2daea2ea4e76b1d0b0c5735d744bb7cc51fb69895","integrity":"sha256-7ej08oCKtXKQh4Dy2uoupOdrHQsMVzXXRLt8xR+2mJU="},"stats-a22ad34b2184e63c6ee60f75829dcae68c2a3e9094a0af419e06306b5b68af45.css":{"logical_path":"stats.css","mtime":"2020-01-07T21:15:22+01:00","size":505,"digest":"a22ad34b2184e63c6ee60f75829dcae68c2a3e9094a0af419e06306b5b68af45","integrity":"sha256-oirTSyGE5jxu5g91gp3K5owqPpCUoK9BngYwa1tor0U="},"tinymce/jquery.tinymce.js":{"logical_path":"tinymce/jquery.tinymce.js","mtime":"2019-12-21T20:51:18+01:00","size":6635,"digest":null},"tinymce/langs/readme.md":{"logical_path":"tinymce/langs/readme.md","mtime":"2019-12-21T20:51:18+01:00","size":151,"digest":null},"tinymce/license.txt":{"logical_path":"tinymce/license.txt","mtime":"2019-12-21T20:51:18+01:00","size":26441,"digest":null},"tinymce/plugins/advlist/plugin.js":{"logical_path":"tinymce/plugins/advlist/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3994,"digest":null},"tinymce/plugins/anchor/plugin.js":{"logical_path":"tinymce/plugins/anchor/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2119,"digest":null},"tinymce/plugins/autolink/plugin.js":{"logical_path":"tinymce/plugins/autolink/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2535,"digest":null},"tinymce/plugins/autoresize/plugin.js":{"logical_path":"tinymce/plugins/autoresize/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2451,"digest":null},"tinymce/plugins/autosave/plugin.js":{"logical_path":"tinymce/plugins/autosave/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3492,"digest":null},"tinymce/plugins/bbcode/plugin.js":{"logical_path":"tinymce/plugins/bbcode/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3116,"digest":null},"tinymce/plugins/charmap/plugin.js":{"logical_path":"tinymce/plugins/charmap/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":11947,"digest":null},"tinymce/plugins/code/plugin.js":{"logical_path":"tinymce/plugins/code/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1225,"digest":null},"tinymce/plugins/codesample/plugin.js":{"logical_path":"tinymce/plugins/codesample/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":21027,"digest":null},"tinymce/plugins/colorpicker/plugin.js":{"logical_path":"tinymce/plugins/colorpicker/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":549,"digest":null},"tinymce/plugins/contextmenu/plugin.js":{"logical_path":"tinymce/plugins/contextmenu/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":549,"digest":null},"tinymce/plugins/directionality/plugin.js":{"logical_path":"tinymce/plugins/directionality/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":4314,"digest":null},"tinymce/plugins/emoticons/js/emojis.js":{"logical_path":"tinymce/plugins/emoticons/js/emojis.js","mtime":"2019-12-21T20:51:18+01:00","size":193222,"digest":null},"tinymce/plugins/emoticons/plugin.js":{"logical_path":"tinymce/plugins/emoticons/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":6920,"digest":null},"tinymce/plugins/fullpage/plugin.js":{"logical_path":"tinymce/plugins/fullpage/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":8195,"digest":null},"tinymce/plugins/fullscreen/plugin.js":{"logical_path":"tinymce/plugins/fullscreen/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":14305,"digest":null},"tinymce/plugins/help/plugin.js":{"logical_path":"tinymce/plugins/help/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":14519,"digest":null},"tinymce/plugins/hr/plugin.js":{"logical_path":"tinymce/plugins/hr/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":840,"digest":null},"tinymce/plugins/image/plugin.js":{"logical_path":"tinymce/plugins/image/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":29770,"digest":null},"tinymce/plugins/imagetools/plugin.js":{"logical_path":"tinymce/plugins/imagetools/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":22210,"digest":null},"tinymce/plugins/importcss/plugin.js":{"logical_path":"tinymce/plugins/importcss/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":5007,"digest":null},"tinymce/plugins/insertdatetime/plugin.js":{"logical_path":"tinymce/plugins/insertdatetime/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3211,"digest":null},"tinymce/plugins/legacyoutput/plugin.js":{"logical_path":"tinymce/plugins/legacyoutput/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2975,"digest":null},"tinymce/plugins/link/plugin.js":{"logical_path":"tinymce/plugins/link/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":22689,"digest":null},"tinymce/plugins/lists/plugin.js":{"logical_path":"tinymce/plugins/lists/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":28086,"digest":null},"tinymce/plugins/media/plugin.js":{"logical_path":"tinymce/plugins/media/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":18041,"digest":null},"tinymce/plugins/nonbreaking/plugin.js":{"logical_path":"tinymce/plugins/nonbreaking/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1584,"digest":null},"tinymce/plugins/noneditable/plugin.js":{"logical_path":"tinymce/plugins/noneditable/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1841,"digest":null},"tinymce/plugins/pagebreak/plugin.js":{"logical_path":"tinymce/plugins/pagebreak/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1841,"digest":null},"tinymce/plugins/paste/plugin.js":{"logical_path":"tinymce/plugins/paste/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":31656,"digest":null},"tinymce/plugins/preview/plugin.js":{"logical_path":"tinymce/plugins/preview/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2200,"digest":null},"tinymce/plugins/print/plugin.js":{"logical_path":"tinymce/plugins/print/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":888,"digest":null},"tinymce/plugins/quickbars/plugin.js":{"logical_path":"tinymce/plugins/quickbars/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":11082,"digest":null},"tinymce/plugins/save/plugin.js":{"logical_path":"tinymce/plugins/save/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1822,"digest":null},"tinymce/plugins/searchreplace/plugin.js":{"logical_path":"tinymce/plugins/searchreplace/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":10440,"digest":null},"tinymce/plugins/spellchecker/plugin.js":{"logical_path":"tinymce/plugins/spellchecker/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":10403,"digest":null},"tinymce/plugins/tabfocus/plugin.js":{"logical_path":"tinymce/plugins/tabfocus/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1937,"digest":null},"tinymce/plugins/table/plugin.js":{"logical_path":"tinymce/plugins/table/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":124407,"digest":null},"tinymce/plugins/template/plugin.js":{"logical_path":"tinymce/plugins/template/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":8076,"digest":null},"tinymce/plugins/textcolor/plugin.js":{"logical_path":"tinymce/plugins/textcolor/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":545,"digest":null},"tinymce/plugins/textpattern/plugin.js":{"logical_path":"tinymce/plugins/textpattern/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":18705,"digest":null},"tinymce/plugins/toc/plugin.js":{"logical_path":"tinymce/plugins/toc/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3591,"digest":null},"tinymce/plugins/visualblocks/plugin.js":{"logical_path":"tinymce/plugins/visualblocks/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1651,"digest":null},"tinymce/plugins/visualchars/plugin.js":{"logical_path":"tinymce/plugins/visualchars/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":7080,"digest":null},"tinymce/plugins/wordcount/plugin.js":{"logical_path":"tinymce/plugins/wordcount/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":13185,"digest":null},"tinymce/skins/content/dark/content.css":{"logical_path":"tinymce/skins/content/dark/content.css","mtime":"2019-12-21T20:51:18+01:00","size":1082,"digest":null},"tinymce/skins/content/dark/content.min.css":{"logical_path":"tinymce/skins/content/dark/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":1082,"digest":null},"tinymce/skins/content/default/content.css":{"logical_path":"tinymce/skins/content/default/content.css","mtime":"2019-12-21T20:51:18+01:00","size":957,"digest":null},"tinymce/skins/content/default/content.min.css":{"logical_path":"tinymce/skins/content/default/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":957,"digest":null},"tinymce/skins/content/document/content.css":{"logical_path":"tinymce/skins/content/document/content.css","mtime":"2019-12-21T20:51:18+01:00","size":1040,"digest":null},"tinymce/skins/content/document/content.min.css":{"logical_path":"tinymce/skins/content/document/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":1040,"digest":null},"tinymce/skins/content/writer/content.css":{"logical_path":"tinymce/skins/content/writer/content.css","mtime":"2019-12-21T20:51:18+01:00","size":978,"digest":null},"tinymce/skins/content/writer/content.min.css":{"logical_path":"tinymce/skins/content/writer/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":978,"digest":null},"tinymce/skins/ui/oxide-dark/content.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.css","mtime":"2019-12-21T20:51:18+01:00","size":17510,"digest":null},"tinymce/skins/ui/oxide-dark/content.inline.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.inline.css","mtime":"2019-12-21T20:51:18+01:00","size":17824,"digest":null},"tinymce/skins/ui/oxide-dark/content.inline.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.inline.min.css","mtime":"2019-12-21T20:51:18+01:00","size":17824,"digest":null},"tinymce/skins/ui/oxide-dark/content.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":17510,"digest":null},"tinymce/skins/ui/oxide-dark/content.mobile.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.mobile.css","mtime":"2019-12-21T20:51:18+01:00","size":544,"digest":null},"tinymce/skins/ui/oxide-dark/content.mobile.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.mobile.min.css","mtime":"2019-12-21T20:51:18+01:00","size":544,"digest":null},"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff":{"logical_path":"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff","mtime":"2019-12-21T20:51:18+01:00","size":4624,"digest":null},"tinymce/skins/ui/oxide-dark/skin.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.css","mtime":"2019-12-21T20:51:18+01:00","size":54904,"digest":null},"tinymce/skins/ui/oxide-dark/skin.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.min.css","mtime":"2019-12-21T20:51:18+01:00","size":54904,"digest":null},"tinymce/skins/ui/oxide-dark/skin.mobile.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.mobile.css","mtime":"2019-12-21T20:51:18+01:00","size":21004,"digest":null},"tinymce/skins/ui/oxide-dark/skin.mobile.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.mobile.min.css","mtime":"2019-12-21T20:51:18+01:00","size":21004,"digest":null},"tinymce/skins/ui/oxide/content.css":{"logical_path":"tinymce/skins/ui/oxide/content.css","mtime":"2019-12-21T20:51:18+01:00","size":17883,"digest":null},"tinymce/skins/ui/oxide/content.inline.css":{"logical_path":"tinymce/skins/ui/oxide/content.inline.css","mtime":"2019-12-21T20:51:18+01:00","size":17824,"digest":null},"tinymce/skins/ui/oxide/content.inline.min.css":{"logical_path":"tinymce/skins/ui/oxide/content.inline.min.css","mtime":"2019-12-21T20:51:18+01:00","size":17824,"digest":null},"tinymce/skins/ui/oxide/content.min.css":{"logical_path":"tinymce/skins/ui/oxide/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":17883,"digest":null},"tinymce/skins/ui/oxide/content.mobile.css":{"logical_path":"tinymce/skins/ui/oxide/content.mobile.css","mtime":"2019-12-21T20:51:18+01:00","size":544,"digest":null},"tinymce/skins/ui/oxide/content.mobile.min.css":{"logical_path":"tinymce/skins/ui/oxide/content.mobile.min.css","mtime":"2019-12-21T20:51:18+01:00","size":544,"digest":null},"tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff":{"logical_path":"tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff","mtime":"2019-12-21T20:51:18+01:00","size":4624,"digest":null},"tinymce/skins/ui/oxide/skin.css":{"logical_path":"tinymce/skins/ui/oxide/skin.css","mtime":"2019-12-21T20:51:18+01:00","size":55044,"digest":null},"tinymce/skins/ui/oxide/skin.min.css":{"logical_path":"tinymce/skins/ui/oxide/skin.min.css","mtime":"2019-12-21T20:51:18+01:00","size":55044,"digest":null},"tinymce/skins/ui/oxide/skin.mobile.css":{"logical_path":"tinymce/skins/ui/oxide/skin.mobile.css","mtime":"2019-12-21T20:51:18+01:00","size":21004,"digest":null},"tinymce/skins/ui/oxide/skin.mobile.min.css":{"logical_path":"tinymce/skins/ui/oxide/skin.mobile.min.css","mtime":"2019-12-21T20:51:18+01:00","size":21004,"digest":null},"tinymce/themes/mobile/theme.js":{"logical_path":"tinymce/themes/mobile/theme.js","mtime":"2019-12-21T20:51:18+01:00","size":181729,"digest":null},"tinymce/themes/silver/theme.js":{"logical_path":"tinymce/themes/silver/theme.js","mtime":"2019-12-21T20:51:18+01:00","size":406030,"digest":null},"tinymce/tinymce.js":{"logical_path":"tinymce/tinymce.js","mtime":"2019-12-21T20:51:18+01:00","size":439628,"digest":null},"tinymce-rails.manifest-e761884522a9ca2dac475b68bac1946c990fb9af8b676d3b6b45692a920c8d04.js":{"logical_path":"tinymce-rails.manifest.js","mtime":"2020-01-07T21:15:21+01:00","size":3,"digest":"e761884522a9ca2dac475b68bac1946c990fb9af8b676d3b6b45692a920c8d04","integrity":"sha256-52GIRSKpyi2sR1tousGUbJkPua+LZ207a0VpKpIMjQQ="},"tinymce/jquery.tinymce-288911771c7167ab9efe3c86b2ec5ade1cea510dc1026943df84685c38d91ef2.js":{"logical_path":"tinymce/jquery.tinymce.js","mtime":"2020-01-07T21:15:21+01:00","size":6636,"digest":"288911771c7167ab9efe3c86b2ec5ade1cea510dc1026943df84685c38d91ef2","integrity":"sha256-KIkRdxxxZ6ue/jyGsuxa3hzqUQ3BAmlD34RoXDjZHvI="},"tinymce/plugins/advlist/plugin-9d5f181c8b89a6d3fd79e5773920a8702a818e3503f2d2225538b1024e22c881.js":{"logical_path":"tinymce/plugins/advlist/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":3995,"digest":"9d5f181c8b89a6d3fd79e5773920a8702a818e3503f2d2225538b1024e22c881","integrity":"sha256-nV8YHIuJptP9eeV3OSCocCqBjjUD8tIiVTixAk4iyIE="},"tinymce/plugins/anchor/plugin-1101283820b4b9031320d224dd162327bb6ad406925efba1b0712b448ffae72c.js":{"logical_path":"tinymce/plugins/anchor/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":2120,"digest":"1101283820b4b9031320d224dd162327bb6ad406925efba1b0712b448ffae72c","integrity":"sha256-EQEoOCC0uQMTINIk3RYjJ7tq1AaSXvuhsHErRI/65yw="},"tinymce/plugins/autolink/plugin-ea3267031e438e98832047c8265fbc070407a0ffbc93e8d2c3a48bd752b1e336.js":{"logical_path":"tinymce/plugins/autolink/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":2536,"digest":"ea3267031e438e98832047c8265fbc070407a0ffbc93e8d2c3a48bd752b1e336","integrity":"sha256-6jJnAx5DjpiDIEfIJl+8BwQHoP+8k+jSw6SL11Kx4zY="},"tinymce/plugins/autoresize/plugin-debda956b34a60a1b4bc427cdfc19a87e2b41ff10438a945371c7f93d731ed77.js":{"logical_path":"tinymce/plugins/autoresize/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":2452,"digest":"debda956b34a60a1b4bc427cdfc19a87e2b41ff10438a945371c7f93d731ed77","integrity":"sha256-3r2pVrNKYKG0vEJ838Gah+K0H/EEOKlFNxx/k9cx7Xc="},"tinymce/plugins/autosave/plugin-5d7b50830029e2fcbec55cca0328d8142fa0d8f46757c9019a4cb28be4e3fee5.js":{"logical_path":"tinymce/plugins/autosave/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":3493,"digest":"5d7b50830029e2fcbec55cca0328d8142fa0d8f46757c9019a4cb28be4e3fee5","integrity":"sha256-XXtQgwAp4vy+xVzKAyjYFC+g2PRnV8kBmkyyi+Tj/uU="},"tinymce/plugins/bbcode/plugin-d4ea4957fd10a1e6e2956954d47b39e019705163bc4da5dfcaaac5fc7c3c763d.js":{"logical_path":"tinymce/plugins/bbcode/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":3117,"digest":"d4ea4957fd10a1e6e2956954d47b39e019705163bc4da5dfcaaac5fc7c3c763d","integrity":"sha256-1OpJV/0QoebilWlU1Hs54BlwUWO8TaXfyqrF/Hw8dj0="},"tinymce/plugins/charmap/plugin-3e427c5d66327507030644fed56edbce588cee62648ee8af86ac06e26873d758.js":{"logical_path":"tinymce/plugins/charmap/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":11948,"digest":"3e427c5d66327507030644fed56edbce588cee62648ee8af86ac06e26873d758","integrity":"sha256-PkJ8XWYydQcDBkT+1W7bzliM7mJkjuivhqwG4mhz11g="},"tinymce/plugins/code/plugin-a1e4ee3ef429e49b5d6bf2505813b0ab804e6b72dd5ca733be0b661e4608e37a.js":{"logical_path":"tinymce/plugins/code/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":1226,"digest":"a1e4ee3ef429e49b5d6bf2505813b0ab804e6b72dd5ca733be0b661e4608e37a","integrity":"sha256-oeTuPvQp5Jtda/JQWBOwq4BOa3LdXKczvgtmHkYI43o="},"tinymce/plugins/codesample/plugin-ec16e82f1cf7c8759aa18ad9677b1c828c7d779758d4f803c7b6a1374d79f5d0.js":{"logical_path":"tinymce/plugins/codesample/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":21028,"digest":"ec16e82f1cf7c8759aa18ad9677b1c828c7d779758d4f803c7b6a1374d79f5d0","integrity":"sha256-7BboLxz3yHWaoYrZZ3scgox9d5dY1PgDx7ahN0159dA="},"tinymce/plugins/colorpicker/plugin-397300b6bbf064534c66e500cc76f04974a8b3148ff8527696952f6e66904ff4.js":{"logical_path":"tinymce/plugins/colorpicker/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":550,"digest":"397300b6bbf064534c66e500cc76f04974a8b3148ff8527696952f6e66904ff4","integrity":"sha256-OXMAtrvwZFNMZuUAzHbwSXSosxSP+FJ2lpUvbmaQT/Q="},"tinymce/plugins/contextmenu/plugin-854c81b98b7c49b727ef2838a12496df12c17eb532e75c0b136587d5319dfeb4.js":{"logical_path":"tinymce/plugins/contextmenu/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":550,"digest":"854c81b98b7c49b727ef2838a12496df12c17eb532e75c0b136587d5319dfeb4","integrity":"sha256-hUyBuYt8Sbcn7yg4oSSW3xLBfrUy51wLE2WH1TGd/rQ="},"tinymce/plugins/directionality/plugin-51daac61c7bb784b21fd9e7bb7ece6faec999a23cfc1235fd738e6b7b535d0c7.js":{"logical_path":"tinymce/plugins/directionality/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":4315,"digest":"51daac61c7bb784b21fd9e7bb7ece6faec999a23cfc1235fd738e6b7b535d0c7","integrity":"sha256-UdqsYce7eEsh/Z57t+zm+uyZmiPPwSNf1zjmt7U10Mc="},"tinymce/plugins/emoticons/js/emojis-a0736896b97ad33377407df852694702e5a4df5c9974373f8f8de3e147a9c57a.js":{"logical_path":"tinymce/plugins/emoticons/js/emojis.js","mtime":"2020-01-07T21:15:21+01:00","size":193223,"digest":"a0736896b97ad33377407df852694702e5a4df5c9974373f8f8de3e147a9c57a","integrity":"sha256-oHNolrl60zN3QH34UmlHAuWk31yZdDc/j43j4UepxXo="},"tinymce/plugins/emoticons/plugin-0a616a34a40aaf42639751775cd0c8a7a07c253dc2d50d6fd259aff0494af6dc.js":{"logical_path":"tinymce/plugins/emoticons/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":6921,"digest":"0a616a34a40aaf42639751775cd0c8a7a07c253dc2d50d6fd259aff0494af6dc","integrity":"sha256-CmFqNKQKr0Jjl1F3XNDIp6B8JT3C1Q1v0lmv8ElK9tw="},"tinymce/plugins/fullpage/plugin-950be265f2e1f9463176d4d371603e745dafe60b20d085d3fdb7dfc731851abf.js":{"logical_path":"tinymce/plugins/fullpage/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":8196,"digest":"950be265f2e1f9463176d4d371603e745dafe60b20d085d3fdb7dfc731851abf","integrity":"sha256-lQviZfLh+UYxdtTTcWA+dF2v5gsg0IXT/bffxzGFGr8="},"tinymce/plugins/fullscreen/plugin-2c24621819d483ae03f863ffac123332dacb13aaf4bc37462e076b3f1b416dd7.js":{"logical_path":"tinymce/plugins/fullscreen/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":14306,"digest":"2c24621819d483ae03f863ffac123332dacb13aaf4bc37462e076b3f1b416dd7","integrity":"sha256-LCRiGBnUg64D+GP/rBIzMtrLE6r0vDdGLgdrPxtBbdc="},"tinymce/plugins/help/plugin-256c84a454287673fa4c4a88785948aff7d88baa7087ec78323989144bc8009a.js":{"logical_path":"tinymce/plugins/help/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":14520,"digest":"256c84a454287673fa4c4a88785948aff7d88baa7087ec78323989144bc8009a","integrity":"sha256-JWyEpFQodnP6TEqIeFlIr/fYi6pwh+x4MjmJFEvIAJo="},"tinymce/plugins/hr/plugin-98aae8ceed7e478997882f091ff4ab9b7c6361ebf4a4c1a5d42e5066510dad36.js":{"logical_path":"tinymce/plugins/hr/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":841,"digest":"98aae8ceed7e478997882f091ff4ab9b7c6361ebf4a4c1a5d42e5066510dad36","integrity":"sha256-mKrozu1+R4mXiC8JH/Srm3xjYev0pMGl1C5QZlENrTY="},"tinymce/plugins/image/plugin-bedbb33580f5c7191faeca7f057f6f86737a62b661706c09bd910259eac36724.js":{"logical_path":"tinymce/plugins/image/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":29771,"digest":"bedbb33580f5c7191faeca7f057f6f86737a62b661706c09bd910259eac36724","integrity":"sha256-vtuzNYD1xxkfrsp/BX9vhnN6YrZhcGwJvZECWerDZyQ="},"tinymce/plugins/imagetools/plugin-2c6afa5dc81bff9d4aed443e0d8c14d2a73d5bd2528943289223bf843b3caac4.js":{"logical_path":"tinymce/plugins/imagetools/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":22211,"digest":"2c6afa5dc81bff9d4aed443e0d8c14d2a73d5bd2528943289223bf843b3caac4","integrity":"sha256-LGr6Xcgb/51K7UQ+DYwU0qc9W9JSiUMokiO/hDs8qsQ="},"tinymce/plugins/importcss/plugin-f4e599c94612b273a8dacf94ad1622adcff633a5fd4387ae5121f7d5722247ff.js":{"logical_path":"tinymce/plugins/importcss/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":5008,"digest":"f4e599c94612b273a8dacf94ad1622adcff633a5fd4387ae5121f7d5722247ff","integrity":"sha256-9OWZyUYSsnOo2s+UrRYirc/2M6X9Q4euUSH31XIiR/8="},"tinymce/plugins/insertdatetime/plugin-3f37e3a0ba1506ff8ad6dd835cde7ed3d2db3e9ece51733ea2950f666cec11c2.js":{"logical_path":"tinymce/plugins/insertdatetime/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":3212,"digest":"3f37e3a0ba1506ff8ad6dd835cde7ed3d2db3e9ece51733ea2950f666cec11c2","integrity":"sha256-PzfjoLoVBv+K1t2DXN5+09LbPp7OUXM+opUPZmzsEcI="},"tinymce/plugins/legacyoutput/plugin-9cbb8dd8733fc043c2825f7f62590d5e8fd3ee73badfbbec677c04a0e21c3ec3.js":{"logical_path":"tinymce/plugins/legacyoutput/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":2976,"digest":"9cbb8dd8733fc043c2825f7f62590d5e8fd3ee73badfbbec677c04a0e21c3ec3","integrity":"sha256-nLuN2HM/wEPCgl9/YlkNXo/T7nO637vsZ3wEoOIcPsM="},"tinymce/plugins/link/plugin-178cc5b94ecc34fe0658a51b3dca57fcc70b554a959dcadd6c4031ca854b337a.js":{"logical_path":"tinymce/plugins/link/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":22690,"digest":"178cc5b94ecc34fe0658a51b3dca57fcc70b554a959dcadd6c4031ca854b337a","integrity":"sha256-F4zFuU7MNP4GWKUbPcpX/McLVUqVncrdbEAxyoVLM3o="},"tinymce/plugins/lists/plugin-48983439cc63cb4a8fea18c9bfe9879f14f8ae6a73c9c66f35432fbc09c514ea.js":{"logical_path":"tinymce/plugins/lists/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":28087,"digest":"48983439cc63cb4a8fea18c9bfe9879f14f8ae6a73c9c66f35432fbc09c514ea","integrity":"sha256-SJg0Ocxjy0qP6hjJv+mHnxT4rmpzycZvNUMvvAnFFOo="},"tinymce/plugins/media/plugin-14c054e4fcb51f19c4d4485a42ba6cc0c8455e8162bdbdd5ea97b09368afcc9e.js":{"logical_path":"tinymce/plugins/media/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":18042,"digest":"14c054e4fcb51f19c4d4485a42ba6cc0c8455e8162bdbdd5ea97b09368afcc9e","integrity":"sha256-FMBU5Py1HxnE1EhaQrpswMhFXoFivb3V6pewk2ivzJ4="},"tinymce/plugins/nonbreaking/plugin-85b41dad44751eb9c762fc9873ab21e3d7fe279c0ec4ff7447e82fd51b7d37a4.js":{"logical_path":"tinymce/plugins/nonbreaking/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":1585,"digest":"85b41dad44751eb9c762fc9873ab21e3d7fe279c0ec4ff7447e82fd51b7d37a4","integrity":"sha256-hbQdrUR1HrnHYvyYc6sh49f+J5wOxP90R+gv1Rt9N6Q="},"tinymce/plugins/noneditable/plugin-a27d05cbf2a672f92224d78d1ad31c6e4662a5aae17fb661ccbcacd51e943fd7.js":{"logical_path":"tinymce/plugins/noneditable/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":1842,"digest":"a27d05cbf2a672f92224d78d1ad31c6e4662a5aae17fb661ccbcacd51e943fd7","integrity":"sha256-on0Fy/KmcvkiJNeNGtMcbkZiparhf7ZhzLys1R6UP9c="},"tinymce/plugins/pagebreak/plugin-749e5872ed39a1f09961b49bb255fac0f6360f01c7f0b4ec1b5f38f5e2ef3d01.js":{"logical_path":"tinymce/plugins/pagebreak/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":1842,"digest":"749e5872ed39a1f09961b49bb255fac0f6360f01c7f0b4ec1b5f38f5e2ef3d01","integrity":"sha256-dJ5Ycu05ofCZYbSbslX6wPY2DwHH8LTsG1849eLvPQE="},"tinymce/plugins/paste/plugin-0b77edd91b1c76af73aacd79e6dad100aa11ef7c5c03f0333d26df1750dd45e7.js":{"logical_path":"tinymce/plugins/paste/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":31657,"digest":"0b77edd91b1c76af73aacd79e6dad100aa11ef7c5c03f0333d26df1750dd45e7","integrity":"sha256-C3ft2Rscdq9zqs155trRAKoR73xcA/AzPSbfF1DdRec="},"tinymce/plugins/preview/plugin-f03537c1c398cca4e649bdeeb6ea907e006158a53cfe04ba36cd72c3e6a62180.js":{"logical_path":"tinymce/plugins/preview/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":2201,"digest":"f03537c1c398cca4e649bdeeb6ea907e006158a53cfe04ba36cd72c3e6a62180","integrity":"sha256-8DU3wcOYzKTmSb3utuqQfgBhWKU8/gS6Ns1yw+amIYA="},"tinymce/plugins/print/plugin-138e832a86ceeb9d70d7b2a0e4441ef63f6c67543c2e80768f30ca21644f3ece.js":{"logical_path":"tinymce/plugins/print/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":889,"digest":"138e832a86ceeb9d70d7b2a0e4441ef63f6c67543c2e80768f30ca21644f3ece","integrity":"sha256-E46DKobO651w17Kg5EQe9j9sZ1Q8LoB2jzDKIWRPPs4="},"tinymce/plugins/quickbars/plugin-c22bae775a23ec4f8d5c1ccd0c22a4879431dcfc3cfc4a9beda56643e63c3847.js":{"logical_path":"tinymce/plugins/quickbars/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":11083,"digest":"c22bae775a23ec4f8d5c1ccd0c22a4879431dcfc3cfc4a9beda56643e63c3847","integrity":"sha256-wiuud1oj7E+NXBzNDCKkh5Qx3Pw8/Eqb7aVmQ+Y8OEc="},"tinymce/plugins/save/plugin-69fa49b662035a24756176359a3fa2c75a81bdb72c7273b02adf3f049522f759.js":{"logical_path":"tinymce/plugins/save/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":1823,"digest":"69fa49b662035a24756176359a3fa2c75a81bdb72c7273b02adf3f049522f759","integrity":"sha256-afpJtmIDWiR1YXY1mj+ix1qBvbcscnOwKt8/BJUi91k="},"tinymce/plugins/searchreplace/plugin-dcc69f2da3c72a7333e92f3388d6b95586d8654fe7806cfcabf37ea72658dd28.js":{"logical_path":"tinymce/plugins/searchreplace/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":10441,"digest":"dcc69f2da3c72a7333e92f3388d6b95586d8654fe7806cfcabf37ea72658dd28","integrity":"sha256-3MafLaPHKnMz6S8ziNa5VYbYZU/ngGz8q/N+pyZY3Sg="},"tinymce/plugins/spellchecker/plugin-ce68d7606345e0306c571efe4943281c791210c94150762cda68995dbddf4ffe.js":{"logical_path":"tinymce/plugins/spellchecker/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":10404,"digest":"ce68d7606345e0306c571efe4943281c791210c94150762cda68995dbddf4ffe","integrity":"sha256-zmjXYGNF4DBsVx7+SUMoHHkSEMlBUHYs2miZXb3fT/4="},"tinymce/plugins/tabfocus/plugin-e9208621ad5eac8e846dc63b1147e34d5bc88e58071ebcff8507ac0584fa49e1.js":{"logical_path":"tinymce/plugins/tabfocus/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":1938,"digest":"e9208621ad5eac8e846dc63b1147e34d5bc88e58071ebcff8507ac0584fa49e1","integrity":"sha256-6SCGIa1erI6EbcY7EUfjTVvIjlgHHrz/hQesBYT6SeE="},"tinymce/plugins/table/plugin-6f3d2766a8dba93298aeec2fbef24b09f9f06276201d9bff3b6398f8b88ef2e0.js":{"logical_path":"tinymce/plugins/table/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":124408,"digest":"6f3d2766a8dba93298aeec2fbef24b09f9f06276201d9bff3b6398f8b88ef2e0","integrity":"sha256-bz0nZqjbqTKYruwvvvJLCfnwYnYgHZv/O2OY+LiO8uA="},"tinymce/plugins/template/plugin-b83aef186cd1fee1c5db5c21c929528cef7d1a33485d58a444f99b70b2f63b01.js":{"logical_path":"tinymce/plugins/template/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":8077,"digest":"b83aef186cd1fee1c5db5c21c929528cef7d1a33485d58a444f99b70b2f63b01","integrity":"sha256-uDrvGGzR/uHF21whySlSjO99GjNIXVikRPmbcLL2OwE="},"tinymce/plugins/textcolor/plugin-28ab395ea6dfbe3ca00cc85474556006e3d299c82f20ac9e83f67a6db6a15242.js":{"logical_path":"tinymce/plugins/textcolor/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":546,"digest":"28ab395ea6dfbe3ca00cc85474556006e3d299c82f20ac9e83f67a6db6a15242","integrity":"sha256-KKs5XqbfvjygDMhUdFVgBuPSmcgvIKyeg/Z6bbahUkI="},"tinymce/plugins/textpattern/plugin-e08737496fb339132b7e08dd96bce0887392031353e206aecfecdd80665a0403.js":{"logical_path":"tinymce/plugins/textpattern/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":18706,"digest":"e08737496fb339132b7e08dd96bce0887392031353e206aecfecdd80665a0403","integrity":"sha256-4Ic3SW+zORMrfgjdlrzgiHOSAxNT4gauz+zdgGZaBAM="},"tinymce/plugins/toc/plugin-4d1c388ae94827bd4daa04db25c7fc86abef34ee4ae3b3f7c23c5895bc6a078f.js":{"logical_path":"tinymce/plugins/toc/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":3592,"digest":"4d1c388ae94827bd4daa04db25c7fc86abef34ee4ae3b3f7c23c5895bc6a078f","integrity":"sha256-TRw4iulIJ71NqgTbJcf8hqvvNO5K47P3wjxYlbxqB48="},"tinymce/plugins/visualblocks/plugin-6a108188d2b0f1fb88f097e369d9cb67cc213944d7b11f16501a51b825ea62da.js":{"logical_path":"tinymce/plugins/visualblocks/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":1652,"digest":"6a108188d2b0f1fb88f097e369d9cb67cc213944d7b11f16501a51b825ea62da","integrity":"sha256-ahCBiNKw8fuI8JfjadnLZ8whOUTXsR8WUBpRuCXqYto="},"tinymce/plugins/visualchars/plugin-38fdc7742fa0f36b65af47d47d91f74a0f0c976c18d6b029b70f4e54c58c34a5.js":{"logical_path":"tinymce/plugins/visualchars/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":7081,"digest":"38fdc7742fa0f36b65af47d47d91f74a0f0c976c18d6b029b70f4e54c58c34a5","integrity":"sha256-OP3HdC+g82tlr0fUfZH3Sg8Ml2wY1rAptw9OVMWMNKU="},"tinymce/plugins/wordcount/plugin-7b30653d1524deab208a452ce81b800a4de426cc91fceae4eca5c686b060ba78.js":{"logical_path":"tinymce/plugins/wordcount/plugin.js","mtime":"2020-01-07T21:15:21+01:00","size":13186,"digest":"7b30653d1524deab208a452ce81b800a4de426cc91fceae4eca5c686b060ba78","integrity":"sha256-ezBlPRUk3qsgikUs6BuACk3kJsyR/Ork7KXGhrBgung="},"tinymce/themes/mobile/theme-3b6cfd8e85aa4cd48d541a0a41e6150e356ae1c0465fb62adafca1ce83629949.js":{"logical_path":"tinymce/themes/mobile/theme.js","mtime":"2020-01-07T21:15:21+01:00","size":181730,"digest":"3b6cfd8e85aa4cd48d541a0a41e6150e356ae1c0465fb62adafca1ce83629949","integrity":"sha256-O2z9joWqTNSNVBoKQeYVDjVq4cBGX7Yq2vyhzoNimUk="},"tinymce/themes/silver/theme-74965ba198307e513a8b8ab9c75bf7afceab2aab3db185c520de06bae6e0bc24.js":{"logical_path":"tinymce/themes/silver/theme.js","mtime":"2020-01-07T21:15:21+01:00","size":406031,"digest":"74965ba198307e513a8b8ab9c75bf7afceab2aab3db185c520de06bae6e0bc24","integrity":"sha256-dJZboZgwflE6i4q5x1v3r86rKqs9sYXFIN4GuubgvCQ="},"tinymce/tinymce-d8d7d4ca47f6ef4ce19ed7d5ded0ca20723a967cc368279a3f6417682a422371.js":{"logical_path":"tinymce/tinymce.js","mtime":"2020-01-07T21:15:21+01:00","size":439629,"digest":"d8d7d4ca47f6ef4ce19ed7d5ded0ca20723a967cc368279a3f6417682a422371","integrity":"sha256-2NfUykf270zhntfV3tDKIHI6lnzDaCeaP2QXaCpCI3E="},"tinymce/skins/content/dark/content-6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af.css":{"logical_path":"tinymce/skins/content/dark/content.css","mtime":"2020-01-07T21:15:21+01:00","size":832,"digest":"6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af","integrity":"sha256-bRDQxKY6sC+PtdNSaYMroeJtTnTkGdAfTGbFKC090a8="},"tinymce/skins/content/dark/content.min-6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af.css":{"logical_path":"tinymce/skins/content/dark/content.min.css","mtime":"2020-01-07T21:15:21+01:00","size":832,"digest":"6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af","integrity":"sha256-bRDQxKY6sC+PtdNSaYMroeJtTnTkGdAfTGbFKC090a8="},"tinymce/skins/content/default/content-6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528.css":{"logical_path":"tinymce/skins/content/default/content.css","mtime":"2020-01-07T21:15:21+01:00","size":707,"digest":"6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528","integrity":"sha256-bIdWuj4C+XRR1cVb6FU3w/x12m6e3qcSHIueZKqQNSg="},"tinymce/skins/content/default/content.min-6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528.css":{"logical_path":"tinymce/skins/content/default/content.min.css","mtime":"2020-01-07T21:15:21+01:00","size":707,"digest":"6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528","integrity":"sha256-bIdWuj4C+XRR1cVb6FU3w/x12m6e3qcSHIueZKqQNSg="},"tinymce/skins/content/document/content-cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f.css":{"logical_path":"tinymce/skins/content/document/content.css","mtime":"2020-01-07T21:15:21+01:00","size":791,"digest":"cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f","integrity":"sha256-zvJYC5g/1XB2jsk77TJUTP1POutcxx2piOWsqoA8J28="},"tinymce/skins/content/document/content.min-cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f.css":{"logical_path":"tinymce/skins/content/document/content.min.css","mtime":"2020-01-07T21:15:21+01:00","size":791,"digest":"cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f","integrity":"sha256-zvJYC5g/1XB2jsk77TJUTP1POutcxx2piOWsqoA8J28="},"tinymce/skins/content/writer/content-eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622.css":{"logical_path":"tinymce/skins/content/writer/content.css","mtime":"2020-01-07T21:15:21+01:00","size":728,"digest":"eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622","integrity":"sha256-645I0XXzfuOk3rT6+0zeX1eUILS6YsFOluban9k3tiI="},"tinymce/skins/content/writer/content.min-eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622.css":{"logical_path":"tinymce/skins/content/writer/content.min.css","mtime":"2020-01-07T21:15:21+01:00","size":728,"digest":"eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622","integrity":"sha256-645I0XXzfuOk3rT6+0zeX1eUILS6YsFOluban9k3tiI="},"tinymce/skins/ui/oxide-dark/content-81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.css","mtime":"2020-01-07T21:15:21+01:00","size":17265,"digest":"81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef","integrity":"sha256-gcYI64qZEeo899YCbpcUAIPb1VlnBr4PYzAFxvgBde8="},"tinymce/skins/ui/oxide-dark/content.inline-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.inline.css","mtime":"2020-01-07T21:15:21+01:00","size":17581,"digest":"4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092","integrity":"sha256-QJm+hf6lfcG1EC+q/2SKNuZpk1omndLMM66WcPADoJI="},"tinymce/skins/ui/oxide-dark/content.inline.min-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.inline.min.css","mtime":"2020-01-07T21:15:21+01:00","size":17581,"digest":"4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092","integrity":"sha256-QJm+hf6lfcG1EC+q/2SKNuZpk1omndLMM66WcPADoJI="},"tinymce/skins/ui/oxide-dark/content.min-81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.min.css","mtime":"2020-01-07T21:15:21+01:00","size":17265,"digest":"81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef","integrity":"sha256-gcYI64qZEeo899YCbpcUAIPb1VlnBr4PYzAFxvgBde8="},"tinymce/skins/ui/oxide-dark/content.mobile-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.mobile.css","mtime":"2020-01-07T21:15:21+01:00","size":294,"digest":"72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064","integrity":"sha256-clFMbAK98C/nJ8v0qPyNBz3uj8+u376EdEmmIb/w8GQ="},"tinymce/skins/ui/oxide-dark/content.mobile.min-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.mobile.min.css","mtime":"2020-01-07T21:15:21+01:00","size":294,"digest":"72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064","integrity":"sha256-clFMbAK98C/nJ8v0qPyNBz3uj8+u376EdEmmIb/w8GQ="},"tinymce/skins/ui/oxide-dark/skin-8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.css","mtime":"2020-01-07T21:15:21+01:00","size":54738,"digest":"8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11","integrity":"sha256-j1YgUO3ElR0I3ExC2au9yYlEw6UUhHaGcSeJ6l+I3hE="},"tinymce/skins/ui/oxide-dark/skin.min-8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.min.css","mtime":"2020-01-07T21:15:21+01:00","size":54738,"digest":"8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11","integrity":"sha256-j1YgUO3ElR0I3ExC2au9yYlEw6UUhHaGcSeJ6l+I3hE="},"tinymce/skins/ui/oxide-dark/skin.mobile-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.mobile.css","mtime":"2020-01-07T21:15:21+01:00","size":20783,"digest":"8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a","integrity":"sha256-im0d74Ken0Iv2S24iFdAWuUSioFtsMM8+OTv9RNzizo="},"tinymce/skins/ui/oxide-dark/skin.mobile.min-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.mobile.min.css","mtime":"2020-01-07T21:15:21+01:00","size":20783,"digest":"8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a","integrity":"sha256-im0d74Ken0Iv2S24iFdAWuUSioFtsMM8+OTv9RNzizo="},"tinymce/skins/ui/oxide/content-38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd.css":{"logical_path":"tinymce/skins/ui/oxide/content.css","mtime":"2020-01-07T21:15:21+01:00","size":17640,"digest":"38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd","integrity":"sha256-OLdd/kTKwKuhx4rOvEImHBMNdzbLTbiZ3jU1eTyKTr0="},"tinymce/skins/ui/oxide/content.inline-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css":{"logical_path":"tinymce/skins/ui/oxide/content.inline.css","mtime":"2020-01-07T21:15:21+01:00","size":17581,"digest":"4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092","integrity":"sha256-QJm+hf6lfcG1EC+q/2SKNuZpk1omndLMM66WcPADoJI="},"tinymce/skins/ui/oxide/content.inline.min-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css":{"logical_path":"tinymce/skins/ui/oxide/content.inline.min.css","mtime":"2020-01-07T21:15:21+01:00","size":17581,"digest":"4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092","integrity":"sha256-QJm+hf6lfcG1EC+q/2SKNuZpk1omndLMM66WcPADoJI="},"tinymce/skins/ui/oxide/content.min-38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd.css":{"logical_path":"tinymce/skins/ui/oxide/content.min.css","mtime":"2020-01-07T21:15:21+01:00","size":17640,"digest":"38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd","integrity":"sha256-OLdd/kTKwKuhx4rOvEImHBMNdzbLTbiZ3jU1eTyKTr0="},"tinymce/skins/ui/oxide/content.mobile-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css":{"logical_path":"tinymce/skins/ui/oxide/content.mobile.css","mtime":"2020-01-07T21:15:21+01:00","size":294,"digest":"72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064","integrity":"sha256-clFMbAK98C/nJ8v0qPyNBz3uj8+u376EdEmmIb/w8GQ="},"tinymce/skins/ui/oxide/content.mobile.min-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css":{"logical_path":"tinymce/skins/ui/oxide/content.mobile.min.css","mtime":"2020-01-07T21:15:21+01:00","size":294,"digest":"72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064","integrity":"sha256-clFMbAK98C/nJ8v0qPyNBz3uj8+u376EdEmmIb/w8GQ="},"tinymce/skins/ui/oxide/skin-c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc.css":{"logical_path":"tinymce/skins/ui/oxide/skin.css","mtime":"2020-01-07T21:15:21+01:00","size":54885,"digest":"c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc","integrity":"sha256-wwsVSO52UM+f12uRZQWTSoKhMw4OiLb7LsbAI2vorLw="},"tinymce/skins/ui/oxide/skin.min-c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc.css":{"logical_path":"tinymce/skins/ui/oxide/skin.min.css","mtime":"2020-01-07T21:15:21+01:00","size":54885,"digest":"c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc","integrity":"sha256-wwsVSO52UM+f12uRZQWTSoKhMw4OiLb7LsbAI2vorLw="},"tinymce/skins/ui/oxide/skin.mobile-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css":{"logical_path":"tinymce/skins/ui/oxide/skin.mobile.css","mtime":"2020-01-07T21:15:21+01:00","size":20783,"digest":"8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a","integrity":"sha256-im0d74Ken0Iv2S24iFdAWuUSioFtsMM8+OTv9RNzizo="},"tinymce/skins/ui/oxide/skin.mobile.min-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css":{"logical_path":"tinymce/skins/ui/oxide/skin.mobile.min.css","mtime":"2020-01-07T21:15:21+01:00","size":20783,"digest":"8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a","integrity":"sha256-im0d74Ken0Iv2S24iFdAWuUSioFtsMM8+OTv9RNzizo="},"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff":{"logical_path":"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff","mtime":"2020-01-07T21:15:21+01:00","size":4624,"digest":"e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213","integrity":"sha256-5kvxVqQy1j9bNLRWe1E9wNNRtJFhx/YI+4JXS/3Z0hM="},"tinymce/skins/ui/oxide/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff":{"logical_path":"tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff","mtime":"2020-01-07T21:15:21+01:00","size":4624,"digest":"e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213","integrity":"sha256-5kvxVqQy1j9bNLRWe1E9wNNRtJFhx/YI+4JXS/3Z0hM="}},"assets":{"active_admin.js":"active_admin-436f1e127c3c5bfcfd081ea8dc17dc0f907b763b9d8967182739d9b3257848e9.js","tinymce.js":"tinymce-e887823f61aacbb4b0879737509c9fc001e27976aed4315081c6bdcfed3ea84f.js","modernizr.js":"modernizr-34f958b565f8b625d03a9216afe69e6819d4d0bb5eb423e48c532aab27d533b0.js","font-awesome/fa-brands-400.eot":"font-awesome/fa-brands-400-e9fdf947c39f06f1b5e63c58eea2f2f74850421b4e32047dacb9c7b75dd42a16.eot","font-awesome/fa-regular-400.eot":"font-awesome/fa-regular-400-c1465a6b8743622f759b08a6d5336e57eb6eabdba1b6393fba6d30d45382f3d2.eot","font-awesome/fa-solid-900.eot":"font-awesome/fa-solid-900-f29eef66eb3ad0e3574d8edb4b9e72a04692a0b2b92d99eb7c4b977611ddd4fe.eot","font-awesome/fa-brands-400.svg":"font-awesome/fa-brands-400-36b51fbe6b87587541b9173cd79c16c6b359ad22a172b922204f9aa87411acd9.svg","font-awesome/fa-regular-400.svg":"font-awesome/fa-regular-400-7ab8a39f4c48b743bd6acbbf5ea4c7547efcb62ad966e9bef3e41996afc44fd4.svg","font-awesome/fa-solid-900.svg":"font-awesome/fa-solid-900-eaf0f3d0cadad17eed1045cf68c30db7abffb4c8ef4ee9cb5f4026fdefc99a59.svg","font-awesome/fa-brands-400.ttf":"font-awesome/fa-brands-400-6b347ff01e588a2a6909ccd7f7f5866b27484391547e9df451ab9b4c27920c71.ttf","font-awesome/fa-regular-400.ttf":"font-awesome/fa-regular-400-6a335d1ce152f2b5b02bf82cc445b02d1abccd7f408a87113424b5f8fcbbfade.ttf","font-awesome/fa-solid-900.ttf":"font-awesome/fa-solid-900-0389b061db08d406704c9bb8819e09c3558ac956287b3e9da8e6645a79d528ea.ttf","font-awesome/fa-brands-400.woff":"font-awesome/fa-brands-400-1af816db9a686faa76bfbda779df959e6213de714a94b87aa7374a151f6f4900.woff","font-awesome/fa-regular-400.woff":"font-awesome/fa-regular-400-864c8f702a5e63198bb76ef0240b599cc065d4904c2afc5da6c8a29bbf0d6c64.woff","font-awesome/fa-solid-900.woff":"font-awesome/fa-solid-900-3b60c77e0c81c1c9cdc9adb96ade6dbac7ef2b9402a316185855de7122e517db.woff","font-awesome/fa-brands-400.woff2":"font-awesome/fa-brands-400-8e4560c16c7970efa47680450b2cf239d4a482c056d308acea12bb9022906c8b.woff2","font-awesome/fa-regular-400.woff2":"font-awesome/fa-regular-400-86e496b536b26ba60cdb68df9dd9143b19a63b65e30e373b0321833aab1295d6.woff2","font-awesome/fa-solid-900.woff2":"font-awesome/fa-solid-900-787d76ad6deab67ccf8bac1b584260205e114f508fc5542b612e3f75d49a34e4.woff2","active_admin/print.css":"active_admin/print-9ca4108e628bcfc6e44c479857ca1db74875fcc9c7966d070fe80be7bb50c98b.css","active_admin.css":"active_admin-dec69308746afc6dbd02775421aa3e1f79637faf69ee5142205b51e446e82b71.css","manifest.js":"manifest-39627dc52fb1b4829654c355d77d306701477a489888ca0be3235350102e858f.js","agendadescommuns.png":"agendadescommuns-0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33.png","alert.png":"alert-762ace9479328243a44061346b64c4d6b997e963c68dfc6bddd9e4d241192906.png","baby_gnu_adl.png":"baby_gnu_adl-463a81820aa2d4ffd8e7210dbce1a19ffcac67ef362aa7b092280c6f95c903fc.png","baby_gnu_adl.svg":"baby_gnu_adl-97251005d3225cf1d58b8c497d6b7905dbc9560cc8acd50118fcce60d0a2679e.svg","communs.png":"communs-0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33.png","lef-small.png":"lef-small-93285d531af463f877951d63fe844a6e9600b782c2c81f78723b730072fa942e.png","lef.png":"lef-7e9152b909c78144ff44ca2254c06709333bef0b8d4985deb1361aba5c63c86d.png","linux-presentation-day.png":"linux-presentation-day-863b30562924505dd21841220861f83643d310e0b943a0e6a905462ddfac86f1.png","osm_logo.svg":"osm_logo-0e91a8acd0a92c1bf14204322322e57c65c2a7e318fec6907252fed929b7d6d3.svg","priorite-logiciel-libre-je-soutiens-april_2_m.png":"priorite-logiciel-libre-je-soutiens-april_2_m-6442e454e96ed45cc1ebc40673a6c50bd286b9c28ea6a8b58572e94f7d6459fc.png","regions/CA-QC.png":"regions/CA-QC-70699e6a6e25c69040a3f1548b0afd829c4903ccca2760b6c10f49cc87d5d174.png","team.png":"team-65c86021cf8a1154493664094aeafcbe3e5aa13dc675bb8ef34b220481db98fa.png","application.js":"application-fb731c41db1a05bf805327a9592adeebe78029f52947b9410e3cf935ee82fbd0.js","application.css":"application-8002eadc07c8d58b56bad6f45a5e2607344c903abacfe94121bd35aa25f764a8.css","flags/4x3/ad.svg":"flags/4x3/ad-f67c4e5a3f709ead53c04d9ff35614e6c67517c3d3289170f7a317390f661497.svg","flags/1x1/ad.svg":"flags/1x1/ad-a315836ec2c9dcc11ef9bfd8b18aa7ccfc2d31435cbf46a2c31930836076e09c.svg","flags/4x3/ae.svg":"flags/4x3/ae-7a3b3dc0f50b5310014cfbcc8200a5f1ce568127bf43452e40e8158e0cff2d2e.svg","flags/1x1/ae.svg":"flags/1x1/ae-bcdd9a4da09598785f3e31db4ff431e22687b2ead18209a3e615600655068cd5.svg","flags/4x3/af.svg":"flags/4x3/af-01601b521fa86582e32c39eed8c88480afec1f801b6de929b52ed7e49da47260.svg","flags/1x1/af.svg":"flags/1x1/af-6332cf754a5e2866db631923e1f7cfc52a0a554d32b97bcf19f8263819e4ca7d.svg","flags/4x3/ag.svg":"flags/4x3/ag-cb6952d821bac7855231c2cb4d1c44f7c730f6b3621518ab20f30d2b9afe604b.svg","flags/1x1/ag.svg":"flags/1x1/ag-14f7d9978487aaf4446b55167e85a711c48a13ff07edac175c172969a38650c4.svg","flags/4x3/ai.svg":"flags/4x3/ai-f07c6cc0646fdfa441b9a506e1d46e8dce0d97b37222292e9c6733c995dc89bc.svg","flags/1x1/ai.svg":"flags/1x1/ai-95099e544de29bcea3ba735de535823f2e19aeb4043e82dbc1d9862f9262b810.svg","flags/4x3/al.svg":"flags/4x3/al-9b997f2720de861e1b0ccec8ddf42a2890795ebf50817f9223e1ceba712c9b03.svg","flags/1x1/al.svg":"flags/1x1/al-94852d2711fc23abf3423534b9edb950a0c6aabf1d2d98bf2643f3c7dadfac09.svg","flags/4x3/am.svg":"flags/4x3/am-85a199ec21d1af74a256335ead0c1e38592bb603d8da81feda4678945e9e00e6.svg","flags/1x1/am.svg":"flags/1x1/am-869391b014ac299924d30777d72a4aba430752177290a90a1fc3255a7ad79ee7.svg","flags/4x3/ao.svg":"flags/4x3/ao-29224a61bf632826d530cda55d87c2615884bd2c2c3a322036ed468e34d85c75.svg","flags/1x1/ao.svg":"flags/1x1/ao-048eacbc862fe1868cf0ec73457b70a8b49a598c80dea049856f0e1fd6fec83e.svg","flags/4x3/aq.svg":"flags/4x3/aq-b401a776d2f1a7944170114f0aeeceab5e1d962df3de7ed1eff47d96824b73fd.svg","flags/1x1/aq.svg":"flags/1x1/aq-a8d7ce9bfb860b6e2b58608b50bf2cafc5220c77f6d049ab7770891f64334531.svg","flags/4x3/ar.svg":"flags/4x3/ar-bf73475bb707100874dec538ce4b7e1b5afc4ed67dc50a8a800ee519e51cc826.svg","flags/1x1/ar.svg":"flags/1x1/ar-fc6582cc6d3ef0782805d8497ee77ab2d836c53422e91007e48f81a4a9fa2e60.svg","flags/4x3/as.svg":"flags/4x3/as-79d395190345206ea03475b67b44638e1111562411504b60646483c9c0b0f7d1.svg","flags/1x1/as.svg":"flags/1x1/as-04f0db77c5d8610a55c69508b226a7c338924f8cf7d6577d5d6590e85ee57183.svg","flags/4x3/at.svg":"flags/4x3/at-3d197de8f1f0096a2b0d440b6fc7d80821585a6637e646c05487a87718bf6b5f.svg","flags/1x1/at.svg":"flags/1x1/at-ec4db9aeac793827ac7c8e40c072a76f7675010058cc8c8dfd3a86bb5acfa6b8.svg","flags/4x3/au.svg":"flags/4x3/au-126fa2500a315287a5f847f4d958bb929f11da9b39f35912cc440c0fcffb8b12.svg","flags/1x1/au.svg":"flags/1x1/au-bf990dcc957c9f74eb908e8ffa733f1731277bf6ec8b7301a6ea1ed92b59cc4b.svg","flags/4x3/aw.svg":"flags/4x3/aw-4524643452423e95f3b0dbe6216b059a9e52126b34c73ae4b3c17b682f893aa6.svg","flags/1x1/aw.svg":"flags/1x1/aw-f7002bceef55486a442bf6bf433be0c60d0b15b2aa548b81c524c67ccf0565a8.svg","flags/4x3/ax.svg":"flags/4x3/ax-c297e0eb654ca62e58f5eb3abb70df9f245e4919490f29bd0f1d49c4fe052d90.svg","flags/1x1/ax.svg":"flags/1x1/ax-a1245689ecbf321c0a9e556bba17f3c9f2aeb8b1f63d14fcb591d76a87f12880.svg","flags/4x3/az.svg":"flags/4x3/az-132e68d5e0386d3b9fa05b4288a0fd66f1414e2bc7af6b9d437b6935a7dfa00c.svg","flags/1x1/az.svg":"flags/1x1/az-3990c0526b933bd650285d821f2b93e432a73ba709869549b8ef75b051d3bd2d.svg","flags/4x3/ba.svg":"flags/4x3/ba-89dd0c1600d94741de7d667a487310193a0c48c4cf1a5159c3bf9dd37d65d2b5.svg","flags/1x1/ba.svg":"flags/1x1/ba-2dbe90eb12b937f4a9ae8db95760930a3e318f4ce5829ac05e292ead698bae5a.svg","flags/4x3/bb.svg":"flags/4x3/bb-16f8249ff958bfbc18fb1f23a5282000347bffdb5769ac620966185b1dcb57f6.svg","flags/1x1/bb.svg":"flags/1x1/bb-fae92d8426196ae24ffa561aca72613fae651a5e9c0bcda63ecc877add05b060.svg","flags/4x3/bd.svg":"flags/4x3/bd-8dac0547e73ee25a04148a3f0fd026a90e56c23b7e92921565d4263050ba77a6.svg","flags/1x1/bd.svg":"flags/1x1/bd-ecc3c3e87d4cc59c8350f2b4d7dca8f5cf46bdb26319db0ee80b744482af50c1.svg","flags/4x3/be.svg":"flags/4x3/be-a180ca68521188017bb5367f19e503d9599d6cbecd61bf054e59a57f58e648ae.svg","flags/1x1/be.svg":"flags/1x1/be-c8d4194137bd01955285b329dfdf996490d16c3116a92ce2f322e354b6d7494e.svg","flags/4x3/bf.svg":"flags/4x3/bf-6b214936ef89f19133d4a84e99cdf0cfdb99d6409f2f373f6d18694423013313.svg","flags/1x1/bf.svg":"flags/1x1/bf-04c7d61aa314adab5a41bd79d77aa780c10136bb6b8f4c62423e61e23e3851ee.svg","flags/4x3/bg.svg":"flags/4x3/bg-dd3985ba746942b0e65bc52a280cc4d28fb24fd2c7d9e22ac9afd2d75ee7bfc4.svg","flags/1x1/bg.svg":"flags/1x1/bg-f59294a736d5bdc0f102b58d70dbe45d02bd92df822820bf95336840f75a0746.svg","flags/4x3/bh.svg":"flags/4x3/bh-7c82c4a6ba963172c6c1b4423f39a0ebe9c999449cc7dd87018917943db4735c.svg","flags/1x1/bh.svg":"flags/1x1/bh-6893aac3e55c6480e9dac0c023ec2179f6c12a0da82a0bc2717134384c097e88.svg","flags/4x3/bi.svg":"flags/4x3/bi-4fcd0116f7f93c0564c6955806f3c3563d0ea7334ae406f29a897255845c923c.svg","flags/1x1/bi.svg":"flags/1x1/bi-91c34eb431b26be67852782a0b93e1d7d577a925454d6c8cea00a0d872d2de8a.svg","flags/4x3/bj.svg":"flags/4x3/bj-63bddb4268f5f8c2ed867041bcf058fb18fcd9d1e0799e01286fca2d5e961c7f.svg","flags/1x1/bj.svg":"flags/1x1/bj-e2606c5a8498c474a6b6708626b88108fcb73840344766566dc56f804279cdfc.svg","flags/4x3/bl.svg":"flags/4x3/bl-824a7265f48789d5e1ad5c5b0042a13a7d2d4357210e5bd8124fca19931e8c74.svg","flags/1x1/bl.svg":"flags/1x1/bl-ba6a7881b0ca72ac57aee4d823ae611ab4ad24a938ee9e01a7a4d5ae04cfccf6.svg","flags/4x3/bm.svg":"flags/4x3/bm-2e2f09e5a4edf4b18afff581656f50b0b4c37783db29591ff00ca768f7f755bc.svg","flags/1x1/bm.svg":"flags/1x1/bm-f553f953f8784ea4d67a5197f5d808a67747eb8a1cb56990d6838e690090d2d6.svg","flags/4x3/bn.svg":"flags/4x3/bn-bcf9967c12eb6397346cb5b960ae92efa41f314f780d09a3d7c81f5dacac4180.svg","flags/1x1/bn.svg":"flags/1x1/bn-1d1aad3fe9fd33ce922eba33c9ae6047a5646349239c20d1bc7307ec6d19a043.svg","flags/4x3/bo.svg":"flags/4x3/bo-fa423f2bb4ab6e8e9dd399ad73781ea8d9cbafd30f1b7ee0bcecfb9e7b75581e.svg","flags/1x1/bo.svg":"flags/1x1/bo-f5faa29e40191e0c76070ac1a1d2a1f2b18e9cd358b8a77cefaed8efc49a265e.svg","flags/4x3/bq.svg":"flags/4x3/bq-493c92ab19204c3ad319e6caba021df050132b99bd57a8f9b74131b78229c29e.svg","flags/1x1/bq.svg":"flags/1x1/bq-6e30bbeabc2aa097f657a411984b3c23278a8fcce2fc016b1cd6d2262f672d33.svg","flags/4x3/br.svg":"flags/4x3/br-cf3ba80ec2c9fd4d3c845c3a3c43a2b9d81cf90707a2918789e8b1f596833e01.svg","flags/1x1/br.svg":"flags/1x1/br-7bf4e4b31650ac25f0bc6c86eb87491a7e5a8eac13acccfcbde44346c88728f6.svg","flags/4x3/bs.svg":"flags/4x3/bs-69f60b5fea96b67dd939e597099994921bb3dc3bcf31b8dee7cc45be2885c836.svg","flags/1x1/bs.svg":"flags/1x1/bs-f5d6acf7ef7a240dc09ac88710fd77fd3494501104392db74d5c540d482f2262.svg","flags/4x3/bt.svg":"flags/4x3/bt-6c20b0c00e12d5898be0239a0c66ce775debd0bd536de56a271859a0285a039e.svg","flags/1x1/bt.svg":"flags/1x1/bt-58de3ca9438811ef1920e2f84c4ba4ce32d01069f4d197ab5d577de6acbe0c85.svg","flags/4x3/bv.svg":"flags/4x3/bv-ff173190fc339b3cb8b6e8235bc5e373853d7127fd94cbc32ac737e839aeb586.svg","flags/1x1/bv.svg":"flags/1x1/bv-59616ff1a722959064c83927ca2e49c1fce42a9b18e91b9ecbb74f62527aff43.svg","flags/4x3/bw.svg":"flags/4x3/bw-4bb1d3131b88c65b5decc67f7b44903e931bca2fcac841942591c599f0cbb850.svg","flags/1x1/bw.svg":"flags/1x1/bw-e08f50c0836ca5858aed7b0526aed6fb630da8dc6b6b96bd9a476af599dc89d6.svg","flags/4x3/by.svg":"flags/4x3/by-324ac96bfbe075781c664be3b9e2ac6b4d2a46dd2b418ca0920284f64394c7d4.svg","flags/1x1/by.svg":"flags/1x1/by-37b80e8bf7e51fef99a8307d6dffb04ee164790ceeafef606d516ca333e9488a.svg","flags/4x3/bz.svg":"flags/4x3/bz-156fdc45f8c15c9520a1ea9fc0f395f294f02077408ea1938c222a37cfbb7f1d.svg","flags/1x1/bz.svg":"flags/1x1/bz-24577d4e7b29b33ab3b1d37914c8479889baa7e8c8399c6d1c99faed31ab053a.svg","flags/4x3/ca.svg":"flags/4x3/ca-0d57cab46d5dbb0012a5e4ae0a9efee3baee90d5d157950a6c5d67edf2daa58f.svg","flags/1x1/ca.svg":"flags/1x1/ca-192a6fb0544e5a6f33a32149d62f1e7ac0a1d61c5c5afa57f3a42346ca8e8c90.svg","flags/4x3/cc.svg":"flags/4x3/cc-a35f2a9e10a28d6918ced65e0623b03bb2fbf1f20670b581bc0a409d33b4e843.svg","flags/1x1/cc.svg":"flags/1x1/cc-d2025eefc9d30f724f3fcd95c0fd9f7938930ecb01af7e0cd6ee6553d7358eb6.svg","flags/4x3/cd.svg":"flags/4x3/cd-5d2127c991b30522ae0a29d05facbc88728c050d7e333a60d614af1545459c5c.svg","flags/1x1/cd.svg":"flags/1x1/cd-59dacf424d1c8c779db66c5b7f2a93a3c8f14976c2975ccfb07639676a1602e3.svg","flags/4x3/cf.svg":"flags/4x3/cf-ac0aaffba354d848eba2501a402ee81dc96a56ad0acd3741ec9905e76c372e1e.svg","flags/1x1/cf.svg":"flags/1x1/cf-e637674faf7edcdad37182192d038448c157421ab0c69377d9b8e56ab2c0249d.svg","flags/4x3/cg.svg":"flags/4x3/cg-3729f717c83c9df7d0543a1a5d4a506efe184bdfeb39f9260b4b63edf19d2538.svg","flags/1x1/cg.svg":"flags/1x1/cg-8353ff1f251714b1b8905eec1722378426719955d0637d206d35d1dcfa68ddcf.svg","flags/4x3/ch.svg":"flags/4x3/ch-6739edee6d1ef72c4ed97cfe723d3bb7f17e4df5390f3a4ae234f1ffdeece0cf.svg","flags/1x1/ch.svg":"flags/1x1/ch-7c3dec465228981c57a90a3a7b3a6c42dd3e699230663e770b55008ce6d14208.svg","flags/4x3/ci.svg":"flags/4x3/ci-3e076d13c9524149508c442f8f727424660124e3591280d8ae9bddf9d8272a1e.svg","flags/1x1/ci.svg":"flags/1x1/ci-691a0a8577b7d555fc90dc7170adc9ec7571191cb3507c46c0e8516fd1778a91.svg","flags/4x3/ck.svg":"flags/4x3/ck-9cff098e505afde9bf5166cb7b0c409178575633b913ce08c1c700d08c477db6.svg","flags/1x1/ck.svg":"flags/1x1/ck-9c8dffa3bd5953d8a121780831f25b58738e67f3be71961894c56dfd25848c88.svg","flags/4x3/cl.svg":"flags/4x3/cl-a4c57ec2bb9adcb67e1850256e5165227b764187d6941a38d95d0def5144699b.svg","flags/1x1/cl.svg":"flags/1x1/cl-5a3e95cf63358e3911c97404818c2cddfd46414d8445e47d6976ee166c48926c.svg","flags/4x3/cm.svg":"flags/4x3/cm-5dce9f36d92a61bdc0c482141bdb4f55bfcec0a2ecc745db643a7953e2e5a722.svg","flags/1x1/cm.svg":"flags/1x1/cm-d8d21f54c44df5df9edef227691384a4ad37c15ff57c8aa0dead684d19eac8cd.svg","flags/4x3/cn.svg":"flags/4x3/cn-48ce1c2837bb806a6aaf8b7a9878b6d040c0d069a0ffca9a8a49e7a31aa30e7f.svg","flags/1x1/cn.svg":"flags/1x1/cn-e6be64c6c4a976e64d39bfe8a6ae4a5b1d38a6aa1b138ddcacf34a942dff50bc.svg","flags/4x3/co.svg":"flags/4x3/co-648d3ff596a0ecf3e85ac17c53abe1d7ca4759688e10a7a3a8b56f096ba6b6f7.svg","flags/1x1/co.svg":"flags/1x1/co-d3c16180c6bce630f762aff789104d10e9dbc949e740535a61396cd0ec34c1a1.svg","flags/4x3/cr.svg":"flags/4x3/cr-84aec60f19bd33e1ac1a209155fec8d372e17cb59dc1346bb9124e5cc867375d.svg","flags/1x1/cr.svg":"flags/1x1/cr-5371cf8bc5ad1a805155c1b3065e420a0a418c8d63b472bc545890289a365b35.svg","flags/4x3/cu.svg":"flags/4x3/cu-bb3f857e02aeab606120d9f164283f07a44b227f12aad7d6d344c7579f7b3ff0.svg","flags/1x1/cu.svg":"flags/1x1/cu-02c0054169b874a8d231de1f45b2d0884de48848157734e0ddcd0f684c05c18d.svg","flags/4x3/cv.svg":"flags/4x3/cv-90ee90ab59713454a218d8c300c71139e62655de80bfbea81df93142a529b81f.svg","flags/1x1/cv.svg":"flags/1x1/cv-2cf3eede97a468d28459ccc2271c28bb5b6029af2388b0301f6203be55e49308.svg","flags/4x3/cw.svg":"flags/4x3/cw-d46beb7b10b40fa82cfd40eb86a3b3879f59f5da2a2f5ef91d121ab9b16c0aad.svg","flags/1x1/cw.svg":"flags/1x1/cw-ba78c834e61b24a8a2b6bc7c80ab9f14e42c3c69415941ddb7c8c1f652ccd8b5.svg","flags/4x3/cx.svg":"flags/4x3/cx-28187fb9d91bedc6f239b107d26eb6ec1cc2a0c7730810306c5a6b313c14f2b2.svg","flags/1x1/cx.svg":"flags/1x1/cx-8ebe073d997f93d092a493300ea1d234c91aef80c6e8f431e88aa7f8e724f9a6.svg","flags/4x3/cy.svg":"flags/4x3/cy-8d633ecabc7968bb8a869c62545f122aacbbc3e108c25ceb421bb8bc8734b9be.svg","flags/1x1/cy.svg":"flags/1x1/cy-6ef37fdd7518f18727bec1ed9741bb4d1f854dde7ef1a7e9fd2f4ba6291a7790.svg","flags/4x3/cz.svg":"flags/4x3/cz-6c94e3d53fc1ae5982d8eb058b76d86f07d3fb4cd325698fea3291fa35504c56.svg","flags/1x1/cz.svg":"flags/1x1/cz-af9898ebd32559cdbea2fd17b351e5eedafccada6fbc6a2b7952cad78369817e.svg","flags/4x3/de.svg":"flags/4x3/de-e7323083675d25107c85f0cea6534bd21d21e77e6d524d92e1b2d0a4e21117a1.svg","flags/1x1/de.svg":"flags/1x1/de-fdb60146952d3b2d104310b28882a0ecde44d808240c3bab2cd6c302a538b266.svg","flags/4x3/dj.svg":"flags/4x3/dj-546da4a0dae9b1ab74dc6ac6076d0c706f37ef2a0d799342dd0345e11f770f03.svg","flags/1x1/dj.svg":"flags/1x1/dj-c0481b667f003d9d5a3c93861023a97a98224227ac19aa7e07b5b6edd35fe900.svg","flags/4x3/dk.svg":"flags/4x3/dk-a13735c0337ab4679cd8679508bf5e8067637ab611ca5c54172c621d740420e5.svg","flags/1x1/dk.svg":"flags/1x1/dk-822a3b8b6948f49aa81fe7620bd173453d9a45406a9680f24bad7e714e58cb7c.svg","flags/4x3/dm.svg":"flags/4x3/dm-7713fabd3cf341694b4c1ef5d1379820773722b61c190234ac7416f2872e3940.svg","flags/1x1/dm.svg":"flags/1x1/dm-33d984fc9897bb2a3bd16c6672b876effc1a8adc0c57ad122a16db54061e4e46.svg","flags/4x3/do.svg":"flags/4x3/do-714b6f307ea3a9c3d30348684b8574e8b7f5078f51649dfa97ae2a69a7108b4a.svg","flags/1x1/do.svg":"flags/1x1/do-d37306c4b346f89ea14739144374caad69652be31e8ce8e2504c9a0d422a4857.svg","flags/4x3/dz.svg":"flags/4x3/dz-a96e943c830558fe9823044aac2bfb3f6a4caf3bd3c57943352280a7f6b68cb1.svg","flags/1x1/dz.svg":"flags/1x1/dz-09400d3b2c58e641a1641a687b81476761d05f9d0ff65861aeaa33c7f508cda4.svg","flags/4x3/ec.svg":"flags/4x3/ec-6762ba85ea0f7bb289b0aa6219c797e5243103d281b1462c61b61030fa329d5e.svg","flags/1x1/ec.svg":"flags/1x1/ec-7410a75a013738fbb8cbd756d967380e02ae54ca74e9ef9a41c4b583c2c2794f.svg","flags/4x3/ee.svg":"flags/4x3/ee-ce3b622214bd9eefb43373cae2811ea8cf6ef6a16bb6afbaa5bcaaea34024da0.svg","flags/1x1/ee.svg":"flags/1x1/ee-a207a8363b4dde44f59951501c2cb539419e92b0814b25d6448710ced52226f8.svg","flags/4x3/eg.svg":"flags/4x3/eg-16a11fa93856ddc5fd46f8811adfc93660175724b20eaab55ff046855a352d2c.svg","flags/1x1/eg.svg":"flags/1x1/eg-9f4d098c604326bbc3692f9e2f335dbc9b34bdf2706565bf448380f0a889d1e2.svg","flags/4x3/eh.svg":"flags/4x3/eh-9cf4a74d29c1a1afc4137deeb5b678d55c8fbdf8d181217267f3a5cce6a76a97.svg","flags/1x1/eh.svg":"flags/1x1/eh-16c3327dbcf3483e634b3536b056324b5478212dae6d060f2ffb2ec961cd382f.svg","flags/4x3/er.svg":"flags/4x3/er-69a1e1e45289d1282df4b1e5ce5e712d69fbe314abd0c922353fce90814c543e.svg","flags/1x1/er.svg":"flags/1x1/er-90d49408e58955cf1cf3185b0193e03c4a107042d47ef5e975dbbe10c6ef7f4a.svg","flags/4x3/es.svg":"flags/4x3/es-50e59681c6b6412498bd9cbfc473abedc713db75c54c538b839db3c394d64499.svg","flags/1x1/es.svg":"flags/1x1/es-29c68fa3c9c8c2adacdc2eb0162e9c2fa998faa408836900ec6285000476800d.svg","flags/4x3/et.svg":"flags/4x3/et-14263ba7ea890fd0a4d89a2791343ecb7acc89aab1fc2593e00a6093b22251df.svg","flags/1x1/et.svg":"flags/1x1/et-086eefb70e9adad537cc1c640a72cc0fa843ec7a9b06b2778aa98b2db055bfe6.svg","flags/4x3/fi.svg":"flags/4x3/fi-a4c41caa02a4f6803ea0d6c36de4beebf20d150e3df742b1369a4099c2ff648e.svg","flags/1x1/fi.svg":"flags/1x1/fi-c5fdf318fac5fdfc94fe54268618e58a2bc5933617ead09992900f90cc25de9a.svg","flags/4x3/fj.svg":"flags/4x3/fj-cb0cc4b3b5c202f07487ee519f48b3eadb47035f5f2d5d3f99d20f81e48d6b79.svg","flags/1x1/fj.svg":"flags/1x1/fj-c2c7fd536841925e7647b2d510d6a0c58700e2a8ded0e42008fb93ffacde101f.svg","flags/4x3/fk.svg":"flags/4x3/fk-cb61eaa0d7221823f7d17de59ea88ed16b506f9585ab0c7291cf839449d82968.svg","flags/1x1/fk.svg":"flags/1x1/fk-a871742380ae157d1211a63cc35cd3621b1bf6de6d67e4a8e3565ad200b1d8cf.svg","flags/4x3/fm.svg":"flags/4x3/fm-079b937562a9a412aae8fb762b571ddb49bf23627943c97247b6a9bbdb768153.svg","flags/1x1/fm.svg":"flags/1x1/fm-dbec73633ecd8a6c50f56d54df36bbe6a2f8fb534ac7658477c82cad14a806a8.svg","flags/4x3/fo.svg":"flags/4x3/fo-27279c2481bb1cb3e44850a948987d6a8411acffa770c3aecd1b76d4c5853413.svg","flags/1x1/fo.svg":"flags/1x1/fo-7cb4fdbba1c7223702d843cb0709ddc799f89f909dfe101e3e36d6bf36c3e67f.svg","flags/4x3/fr.svg":"flags/4x3/fr-30ed2f68dc9a17927643640f48f3d2a858bd041770547035349c6e79713cd84e.svg","flags/1x1/fr.svg":"flags/1x1/fr-6b849151204c66fa661c30b34e62919a13b9e66b7cd37a4fc8962e8e0baf9bdc.svg","flags/4x3/ga.svg":"flags/4x3/ga-e3840f9d5bd6ee08db748d37a534500b837bee0f8ce65987b2f099a6afd2cc63.svg","flags/1x1/ga.svg":"flags/1x1/ga-9eafd5388042b3d2258ac6223075b726426210136b9851b637973105721b64d9.svg","flags/4x3/gb.svg":"flags/4x3/gb-ce93c8a6b974d63998e263f6d25f898fc20580a28464457f2f4463b687e4fe8d.svg","flags/1x1/gb.svg":"flags/1x1/gb-1d93e1ce2e2e10c1709e4dc50ac956c007b2c1a63a4bc22ddfd64354f79ad457.svg","flags/4x3/gd.svg":"flags/4x3/gd-7c3a6b6068bbd9a6abc98c2297dd4acd5e31022e5a4210fc0e1205ec28498fa2.svg","flags/1x1/gd.svg":"flags/1x1/gd-2310bc03d9e8ddc8599b40891bfb10b812b07023881599a7e02e3028d1bc9ca8.svg","flags/4x3/ge.svg":"flags/4x3/ge-501c0135fb8c377dbd2859ff6290b47ef4907a8e2ab2ae1e39116b716db6795f.svg","flags/1x1/ge.svg":"flags/1x1/ge-ca9ee36883ec12048fbb7fbbfaf231c0d4848ae0b07dab74a46d53b7b34d8114.svg","flags/4x3/gf.svg":"flags/4x3/gf-7c165f90bfe6ac3674903632182221a992f017ff706354b1761002382e89c2c2.svg","flags/1x1/gf.svg":"flags/1x1/gf-8838337b15cdcf143fac16c714e8dbf2d893d2ea8f1c8ef06dadcb652dfec41c.svg","flags/4x3/gg.svg":"flags/4x3/gg-2c7bfc50d5bcd374b5f6107974d06af24e70edba31ad71a225e0c2ecc2d6e778.svg","flags/1x1/gg.svg":"flags/1x1/gg-509489b1792831bb27d6975c76aa0a2ac2fa2c3906bcf844f616de5e0fbbc359.svg","flags/4x3/gh.svg":"flags/4x3/gh-79c187756e93df22fae571ad9419629c5247c016e32a74471e0d461048fdf5cf.svg","flags/1x1/gh.svg":"flags/1x1/gh-e7bf18e6337982ee31e3673ab93e722b3410b7a4c202656a4bc3887d8656286b.svg","flags/4x3/gi.svg":"flags/4x3/gi-ed99b369c8c77e64abd59fab1f28155d71b4378b49625c66ab0ab6dff4f88087.svg","flags/1x1/gi.svg":"flags/1x1/gi-2e563e96e766e13c0a9c5a3a372059a44739bb696e853d71a6f6b08c491dfb9a.svg","flags/4x3/gl.svg":"flags/4x3/gl-612e560dbad68d540be672b80e22c54db43d6e2070523e81c156ccd6b3fc4260.svg","flags/1x1/gl.svg":"flags/1x1/gl-a9bb35d2b9ff27638658d9ad6b9e2c4f452072b9a80b508d32e76d37bf62cf6e.svg","flags/4x3/gm.svg":"flags/4x3/gm-4a6f9670a41548cceaced2b728e4bc56acbc4a3ba5544e7a097f7dae7a8bb045.svg","flags/1x1/gm.svg":"flags/1x1/gm-b67f9f6bce2f8c8700c198de8bfafac72d01b8a1e55b77f71e8cafdc58f8af5c.svg","flags/4x3/gn.svg":"flags/4x3/gn-873b4eb52f34c7558bef93cfd1b82117b5c32c9fbc0610f8821ccd22f28abe28.svg","flags/1x1/gn.svg":"flags/1x1/gn-72f51dc30cf0ed5459ad0f239cf3043eac05ece75945bcaf4ea6653af868c504.svg","flags/4x3/gp.svg":"flags/4x3/gp-4559cad3eb2d173214161d16b0237c68f5c817749a39c862fa7b23dfb4aee923.svg","flags/1x1/gp.svg":"flags/1x1/gp-d6669532054db5b7e441f4858c28920246a65ca3e8a15518c64c7bbb4f9c6416.svg","flags/4x3/gq.svg":"flags/4x3/gq-0c8dfe7f9543307056bbe6d6e44a16c17201228e5344d5afec1ccf1b9a5eb2f9.svg","flags/1x1/gq.svg":"flags/1x1/gq-ecb761e6db59b9bf8ba37533eaf0c60b7fcc7c0dfa2fcf281ee84c970dcb10f8.svg","flags/4x3/gr.svg":"flags/4x3/gr-4a4086310397bffa682d439be8650a9e28d94e32963b6411b61435292ac4cf80.svg","flags/1x1/gr.svg":"flags/1x1/gr-0cbd171892c0568b055d3b6585d58ac13dd60dfbcfad16eda1f4f9ead11dd16f.svg","flags/4x3/gs.svg":"flags/4x3/gs-e45169a93a9e94c15f5cb765a6c863319171fb9b4dce56094411829cd688d486.svg","flags/1x1/gs.svg":"flags/1x1/gs-3efc9e1b32961f9aa9d7faa2626e596282b63d049f6717c2378b28e3f508e79a.svg","flags/4x3/gt.svg":"flags/4x3/gt-64a7345cf66facf7f323d2142aebb4172191108a78ac7493b1a6077b78ac8ec5.svg","flags/1x1/gt.svg":"flags/1x1/gt-436a2af3d95cf3cb13ded897f319cfd6e2c087d678ad0e971c198b0d2c029911.svg","flags/4x3/gu.svg":"flags/4x3/gu-f560822ee237e5277829e63613a615a2ee3d8cc6196dffffe0f0d56a49b11c53.svg","flags/1x1/gu.svg":"flags/1x1/gu-a71c9d290c66c1a0929b05436dc6a8229b1147d7cc62336e04c9adf697030450.svg","flags/4x3/gw.svg":"flags/4x3/gw-0dc9ec17735ed605b68672947ce55c49a4ec1551491ccd121f482c1875cdf219.svg","flags/1x1/gw.svg":"flags/1x1/gw-7868c305e4a64b0d8ebfd3f7cb8c881841d71a7e0c3ead2683fe503c80de0674.svg","flags/4x3/gy.svg":"flags/4x3/gy-c9126e544c62508abfb898f0af0bd79c46f4c767c9ed6f928418a24b0f246d85.svg","flags/1x1/gy.svg":"flags/1x1/gy-0e3b849ce460f8ab1ec7cf66a25be1ba91e89b72d8b0aa679a0553464f37a972.svg","flags/4x3/hk.svg":"flags/4x3/hk-cece9126ccbf9151feadfed75791ebf32d4a16beab12f182404519d0cc24eec7.svg","flags/1x1/hk.svg":"flags/1x1/hk-9fad00e06f9034877149394914baa2bc3292223b0e32df2b1f9399d4de6e167d.svg","flags/4x3/hm.svg":"flags/4x3/hm-4b4923b81da24d62ebf31a9bc0addf76beef84593374b1cbd03ba19f3b12e3e9.svg","flags/1x1/hm.svg":"flags/1x1/hm-776c822113a22e83581234d05f40bfc0ed38b60648d87f513f3da3fff96ffb61.svg","flags/4x3/hn.svg":"flags/4x3/hn-855c830786283862a5f399e0d69dffe52b6223b91b32e31b55d55c82f2fa32c9.svg","flags/1x1/hn.svg":"flags/1x1/hn-64c38bac9403417c4e276bf5536d284fc5410fc04b80acd39a961d298f430dbd.svg","flags/4x3/hr.svg":"flags/4x3/hr-c8cad861f7398a22b9d27ea682d2778df0dde8e146d30142b5294daf988854af.svg","flags/1x1/hr.svg":"flags/1x1/hr-60c093df6760e4cc6abe26c37a52be3b51458f02712f18e11f08b07dc623b489.svg","flags/4x3/ht.svg":"flags/4x3/ht-fe81da06228fa36e7f211bec0d9f0c020f5b9c7f81534b4cb2251848aa276b16.svg","flags/1x1/ht.svg":"flags/1x1/ht-dd0197c078859c5a66ff3a51d3a3f92809768e36bfabdec0fc0ab60d068afcd9.svg","flags/4x3/hu.svg":"flags/4x3/hu-9aa998e636687aede491e307f3d068dbe58f2d90bfdfaec0e7ad03baa5b36344.svg","flags/1x1/hu.svg":"flags/1x1/hu-06858d0fbd4320496e849010e35c8fe82eb618188cf6ec329aef93f5e7af1c23.svg","flags/4x3/id.svg":"flags/4x3/id-775dbfedd6533afdf5bd017ccc1ad4f8f4238cbe87393d9c837a669196f17293.svg","flags/1x1/id.svg":"flags/1x1/id-3920ce662a7ea937b2c11707d8e1f53db52611dd004edf753b0389ed490d9d29.svg","flags/4x3/ie.svg":"flags/4x3/ie-6368a1c92440fcf80d3c35607543bcaa2d4662d6e0bc7acf6749ddbc418a72c0.svg","flags/1x1/ie.svg":"flags/1x1/ie-1997e9de640fa764677aa8f5d52f7888bb24a029160e8f67b06dbd043b4f11b3.svg","flags/4x3/il.svg":"flags/4x3/il-d76883a2330f9a05a4a64990ba955fc1be90bb46bcb19ae548c21816e7e74178.svg","flags/1x1/il.svg":"flags/1x1/il-f5e643d0e10169a438119dc441ea3100b52a2ff569bbb3a3ad6d1131b47602d8.svg","flags/4x3/im.svg":"flags/4x3/im-bbae8aa9dd129f8446556afe4904194ad43377d882f9a705fcf1da2bdbfabccf.svg","flags/1x1/im.svg":"flags/1x1/im-767d72c2e72d732d65c9b016adad983778dfbbb2b5b52e71830f4e41297728d3.svg","flags/4x3/in.svg":"flags/4x3/in-519e33321b8b2ba70a0b7557d66c62d7efdc9723896c49f82528b107028ffe29.svg","flags/1x1/in.svg":"flags/1x1/in-27831f76dc6a218a529b6e5d0eafc4c19c999461327b7c013f59226c0601a361.svg","flags/4x3/io.svg":"flags/4x3/io-8d25a8e98f682199b413adfbcb6898c37058c9bae085e427fbab03d56e8c0de6.svg","flags/1x1/io.svg":"flags/1x1/io-627f3b0cef72fd91ff426d74a007dc32d74c9fe677cf2c8355cba84359e16fde.svg","flags/4x3/iq.svg":"flags/4x3/iq-96b24d1439184d0a4c35ca7cea65e5f20469a0e8c8438963aad016e59c399cc6.svg","flags/1x1/iq.svg":"flags/1x1/iq-af04db139f8c44cfe0c612e2c05e848ccfad88fbbfcb58e88cdb7c80db365669.svg","flags/4x3/ir.svg":"flags/4x3/ir-db2c230d355ade2b1ac235ec647bb1535e4703c639a44f9ce112473272ee1019.svg","flags/1x1/ir.svg":"flags/1x1/ir-c648cbf56fc8f324fda477ea816783c9df8a7d398f45f5f94acc1c16c8877b63.svg","flags/4x3/is.svg":"flags/4x3/is-29508693138977229758b0f322ba34e90dbcd7a8a74e8820729933d24051d9a7.svg","flags/1x1/is.svg":"flags/1x1/is-b1c5db1d4b4853b8144f1d88ababbf14fc88752340457ba3e2c94ab5d54c9c01.svg","flags/4x3/it.svg":"flags/4x3/it-d2c168050fc509adac1163b097b0ed409217560735b27802ae9259587c146562.svg","flags/1x1/it.svg":"flags/1x1/it-592d34fb666430fa00f98d333623d5efa3c8e0e65ac4eee06bbc4c1de7ce4bea.svg","flags/4x3/je.svg":"flags/4x3/je-b363a4e3a21630f10791c2ebeb7f918320816ef87c155d4fd29ce37982f4df35.svg","flags/1x1/je.svg":"flags/1x1/je-6d43f74e30e099bc056da925ec34c0200708f0a6e90da34db1e59d54ce10cfd9.svg","flags/4x3/jm.svg":"flags/4x3/jm-3d133fbc2564f29e036855e8be224d1579fe66fe49e0f5a2ba0bdcf3cb272823.svg","flags/1x1/jm.svg":"flags/1x1/jm-1aea8ea5d8cbc717fa3ef331d8caa9a1421c88a7bd076e40f8276a5b6f8d0467.svg","flags/4x3/jo.svg":"flags/4x3/jo-eee432339f8ea6750987e1121187eb4b53ec537dd7ccb240c018de63f7a92db6.svg","flags/1x1/jo.svg":"flags/1x1/jo-7969b2083c535c85b7e714b755459a6606940e0b5ddb1b71e24daf0a180d14aa.svg","flags/4x3/jp.svg":"flags/4x3/jp-2eadcfc67ba8cd50c1da86e08e6778e0102c3072865dab8c312cc88006da0abe.svg","flags/1x1/jp.svg":"flags/1x1/jp-551281a75e6c6fd64eb65b39f56102b52c182f6c38ee045c9422f6592f0f65c5.svg","flags/4x3/ke.svg":"flags/4x3/ke-45790bc3ec1ed8ed0124777a7c9e09163353b5af4ff70ae6604a61b53712df4b.svg","flags/1x1/ke.svg":"flags/1x1/ke-2cca24ecf024b801543c0572efc9969ffdaf25cec313e2149c64961839bc301b.svg","flags/4x3/kg.svg":"flags/4x3/kg-3879f8931d74cc9c5927261f4095b2bb786f3d62c803b2a96ec550a23fae9f49.svg","flags/1x1/kg.svg":"flags/1x1/kg-74318932808f85b72df308358f2f2699ab0cb7ab4f7ad3c84c4be4024f0fb140.svg","flags/4x3/kh.svg":"flags/4x3/kh-7409fab4ba4e676db7b5c61020b97893b1735fe0b8e39e9b4f96108400be704e.svg","flags/1x1/kh.svg":"flags/1x1/kh-2603f6a61b400cb12b87397eeba60ae1707511467d5e0c430c05809bf89e5042.svg","flags/4x3/ki.svg":"flags/4x3/ki-617c1b52f3d9aee99d094edbd1775cae77aade266a1318eb4671b2bb1620ded5.svg","flags/1x1/ki.svg":"flags/1x1/ki-74615266b440a24f09abdeae3853d7e1111f0eba77df71ccd176d83fbd1fd9ad.svg","flags/4x3/km.svg":"flags/4x3/km-0c9bcbf7e677a541fc8dff6f848c9d92b6982ac2934ae75faa56a2b846bb5698.svg","flags/1x1/km.svg":"flags/1x1/km-81b0fbe53d09194270e8ed4cbe9be8eb1ae727e77957005369ad8bdc651dd1c8.svg","flags/4x3/kn.svg":"flags/4x3/kn-0442f55f81cd3b1057c609301f0af2b503d89a895a954af8c970df997e92bd03.svg","flags/1x1/kn.svg":"flags/1x1/kn-897c34ef54bee486f0d24d2191e2400f49a19d98efb19f8c3f1a27fb0b97131a.svg","flags/4x3/kp.svg":"flags/4x3/kp-a54f7201982b29530381b71a5e2a11c1153860f22c04c0a2d91bb0d20fedf78e.svg","flags/1x1/kp.svg":"flags/1x1/kp-758eccd89ef3707808fb68d931f086e49333904f4cc67c88468f3c96fb43b7b6.svg","flags/4x3/kr.svg":"flags/4x3/kr-c0b9b2c854133410c0ad9cadbc10b1e0bacf0305519883126d55bfa3214f9d06.svg","flags/1x1/kr.svg":"flags/1x1/kr-7c0457ac5d284b28b742ea2e061a1aa2a35f63171e464b3a7eb501a48756ce7b.svg","flags/4x3/kw.svg":"flags/4x3/kw-81c3d5d25c7b840ef14783b51d18c6b7cfc61f94932c664bbc9e5879fef020eb.svg","flags/1x1/kw.svg":"flags/1x1/kw-66670211a67a4e61d4652a19d821dc5195f01a28a3a9b28b7e4c6048cd86b19c.svg","flags/4x3/ky.svg":"flags/4x3/ky-0f4ab66d951ae33f800d680aaa5704804ba9c8844d4d80e5bee2e3fa0e100af3.svg","flags/1x1/ky.svg":"flags/1x1/ky-fb5f57bb58b74d23377bad9954a75ab88d1587af68546ce137a6ae7a88a7701e.svg","flags/4x3/kz.svg":"flags/4x3/kz-39edc952c598c71be2c9510944a8faf708d8e4b367b5ad78a688d1cd37f522eb.svg","flags/1x1/kz.svg":"flags/1x1/kz-924c04dc19267b049f35213af0e2b0c540933c06389433cb4aacd8dda33b286c.svg","flags/4x3/la.svg":"flags/4x3/la-e3a36a3bd0003442c3a21d3a192995fa6fb3b3c08a2daadc8f38f62736b5b1e3.svg","flags/1x1/la.svg":"flags/1x1/la-c9d4223a897e5e2938a4892bbc593d3828093b9439fc3f6de21520e4013ddbc5.svg","flags/4x3/lb.svg":"flags/4x3/lb-508c2a5a9b50d604895675b9f1c1e5914c394a7f468f5d823eb0476acaacbc7f.svg","flags/1x1/lb.svg":"flags/1x1/lb-10c9ba8ea7aa3189f16a7273c837982a887fc4ddfc9d514d8f5a660d72356f7f.svg","flags/4x3/lc.svg":"flags/4x3/lc-04ccd92fb1578654181febaea30ebd6b6620f56115730b2a2d673c712307bf5c.svg","flags/1x1/lc.svg":"flags/1x1/lc-4ffb53afb8bd296d526ac26fd8007afc74855e92833a893d3c934a5d12eb152a.svg","flags/4x3/li.svg":"flags/4x3/li-3058dc4aeaf2bd2da8cb910892137d732b56e5e9d342e565a4059de1a8e40e40.svg","flags/1x1/li.svg":"flags/1x1/li-0780a4f218b9ee466e33d14274b8a01575a86b3787b347e3269a3b301c220d5f.svg","flags/4x3/lk.svg":"flags/4x3/lk-a13d6ab1da51be3b1d2c5b80f4d866c923d42b017e197469e1bfc0dd021c4bfe.svg","flags/1x1/lk.svg":"flags/1x1/lk-99759363f0df6b868fd1398bf05666c680bafe1eeec8b859b64d450930213e02.svg","flags/4x3/lr.svg":"flags/4x3/lr-b06a1d70899826b305ce387fa31e1fa0bdb3bcb17c1392f15f995ce1dba723cf.svg","flags/1x1/lr.svg":"flags/1x1/lr-820a9d023e5b1e68ed640bfaba8f84ad4379c42a6c5c982cb76b0390dd2bcbdd.svg","flags/4x3/ls.svg":"flags/4x3/ls-d02bcefe7c298c153665f35c33eedb08e2e2b345350e4bf1714a87abf86b2d0e.svg","flags/1x1/ls.svg":"flags/1x1/ls-85c731c313a46db12bdb27fe229e9f7d052b447c624663b73ffa1dbab97f03fb.svg","flags/4x3/lt.svg":"flags/4x3/lt-c08eb18a15d2003cb544432b11c5081d3d5741370669b4df306d1c6bce14cb51.svg","flags/1x1/lt.svg":"flags/1x1/lt-c1bd7e3d289ac9b0df06d47237780eaf4d30f01281ed50a7df9a22bc3a2489c5.svg","flags/4x3/lu.svg":"flags/4x3/lu-99e7b6adb3a9e0f867b17eb3b1f0f33db92fd27cfd7b651f62453f359bace22f.svg","flags/1x1/lu.svg":"flags/1x1/lu-ab544445f16afa450549288ac86c2cc9a458a9d7747b3a89d5ecef7db9c83ce7.svg","flags/4x3/lv.svg":"flags/4x3/lv-f8844d50b89f0369f73d580d3676553e7e55dd8ab2460e592a29a530d9bed886.svg","flags/1x1/lv.svg":"flags/1x1/lv-baeced49dd4249e36a25b0f23a5c601a69e9dee3137627cd4450194b85a99dd4.svg","flags/4x3/ly.svg":"flags/4x3/ly-03209121483967f9d74849fb9261de23e9ff2e02c4e40b29f1cda0631b8a5fae.svg","flags/1x1/ly.svg":"flags/1x1/ly-1e6e070aaa4bfc97a5a446a39bf746ab3c4c81d9f62c975cab164e16de3a3ffe.svg","flags/4x3/ma.svg":"flags/4x3/ma-9a25cc7c2868fa45b251dd1b99a0be3b583df69732146142020fe9c6c0c95b63.svg","flags/1x1/ma.svg":"flags/1x1/ma-4f18b9c355b8b8bf0db69badb235a183dbd558deb6439bf03b4f18e56837a7f3.svg","flags/4x3/mc.svg":"flags/4x3/mc-b0c50599ea2a550680a6a867579930e0b47d3e05193a7294a26b7849a7ad35e2.svg","flags/1x1/mc.svg":"flags/1x1/mc-8f1fe6210338399d8791d91f39234b1a09acf2aa5e0387696048dc7068534a28.svg","flags/4x3/md.svg":"flags/4x3/md-8849eef7bdf916e962f7bb31af87c8d47aef33f9f4a2017b2ce55c4166e79643.svg","flags/1x1/md.svg":"flags/1x1/md-43f1bb4157545abe6e79215459efb548d913bbe7922078cd40cb722a4e19d9b4.svg","flags/4x3/me.svg":"flags/4x3/me-983d452d43cfb8d628bfc5c0cf4991c2ba3cf0e39e70aa5353cfd4e9ec3da62d.svg","flags/1x1/me.svg":"flags/1x1/me-104d6a96038ef06d3d8b89c9221996f3649b5b821139b11b2e07695b0f6fda2f.svg","flags/4x3/mf.svg":"flags/4x3/mf-31fb851bfcc2340d2fa43e86a099cc7becfc8e7f996a4d2ca56bd050e6537086.svg","flags/1x1/mf.svg":"flags/1x1/mf-fe20ce9bf911631d6e79edf21c8cff0716f2dc1ffded39515735444d9a66fa55.svg","flags/4x3/mg.svg":"flags/4x3/mg-5effe963e29f804a26f95dbbc9519add454a0fd9eb918ddfeb55e1e99a1a2701.svg","flags/1x1/mg.svg":"flags/1x1/mg-9e546cfb78810d9b25c814a84aadd6907880b8e0cdd2e4e30738b519e7c1ac91.svg","flags/4x3/mh.svg":"flags/4x3/mh-d8cfd123007dbb99aa700c335957926a6d5e877ab49680c79629a32716d7a782.svg","flags/1x1/mh.svg":"flags/1x1/mh-3fe03d4d063a4729fc8b68fd5e9d7d2eef6e65c4e82954c83f76b138cea2eb45.svg","flags/4x3/mk.svg":"flags/4x3/mk-6e8071d15f2ff125d30bf89d000dcb47db9545cf9b7ff04f1474650ec2f4d25c.svg","flags/1x1/mk.svg":"flags/1x1/mk-fdc9212f9f311cbface56b6587468a2e845111b697edc11b7edda9fcf100c1d5.svg","flags/4x3/ml.svg":"flags/4x3/ml-a730102e0c6f6362de9c10ef8da6cf7b123465d01a297e7a89808b01fa4771cd.svg","flags/1x1/ml.svg":"flags/1x1/ml-a661355da206b0cb7ac4c84b6cdf7e411fbca8fcb271ae999fa60d5c67578192.svg","flags/4x3/mm.svg":"flags/4x3/mm-6d0d207d662477110f2b863488088818d8400386358dcbc669a2d8c54d1bae16.svg","flags/1x1/mm.svg":"flags/1x1/mm-de7d46b6543343af61ba997045cb41a707bd0db1e7a5879971ca8fddcbdf9e99.svg","flags/4x3/mn.svg":"flags/4x3/mn-656eb51e88bfce82401e4080eb791ddf16d571cbba102cdd4316c5de4711ac65.svg","flags/1x1/mn.svg":"flags/1x1/mn-ad22cb2c195a7d8ca8e4174db011d5f58238ee25039b5b2da2649d8ca8b00123.svg","flags/4x3/mo.svg":"flags/4x3/mo-37a1088aa687af13951bc93886e3e51cb246eccfde1b56528f189327ea291792.svg","flags/1x1/mo.svg":"flags/1x1/mo-b463a1c37b69131d662e3fb2ae937583458824a09bcf68fc7ed2d7fd729138d1.svg","flags/4x3/mp.svg":"flags/4x3/mp-ecd12cadc358fdf293e856c0a3ffc09409123cabd3c7201225b2d21b59551e14.svg","flags/1x1/mp.svg":"flags/1x1/mp-d1f4ba10c1409e713253f1fbb107eeccbd4ec1a8f9036663f1ac1991aee53835.svg","flags/4x3/mq.svg":"flags/4x3/mq-b4e1b08a93c1364c79e6d61f95b16fca5b884da6e77835bc0e0adfff8ecc2d7f.svg","flags/1x1/mq.svg":"flags/1x1/mq-19cb6f7cb7354c3fd40e987c93a2d76329d34b2ed3873c3f25fe56802f251ea8.svg","flags/4x3/mr.svg":"flags/4x3/mr-9f64af3ed5c6d8d1f68b5cb09fd1aa9d28c3c95107e063f64a0ef95f0cb9429a.svg","flags/1x1/mr.svg":"flags/1x1/mr-0e79b7bcc669bb871d94021db2b78b162b9867c7eaf934d8f7a3025fd5903576.svg","flags/4x3/ms.svg":"flags/4x3/ms-32620dd70353777b2ee62951556976f398cd38ae359b5a8c97311a1dc61eb8bc.svg","flags/1x1/ms.svg":"flags/1x1/ms-4104d4f36cb5cf1c6de78e52e90bc3c5b8bfa262617b16a737673feb8c30a00c.svg","flags/4x3/mt.svg":"flags/4x3/mt-0c9819aa69b34b84c1ee43620922737122eb38f107be9864a0690ac66ef8aa64.svg","flags/1x1/mt.svg":"flags/1x1/mt-3c3fe71f2a2bf0d961fd145ad7e48ca1e9d3a05cce514354714ba4568503d106.svg","flags/4x3/mu.svg":"flags/4x3/mu-c78c23f1499756b9db762ae434ca354d1481447fa94c66bc10aca9443b399059.svg","flags/1x1/mu.svg":"flags/1x1/mu-91ebc79d0fa306127ea8b7a33f77d5b28f35c516ea91ff0468c7344dc838db69.svg","flags/4x3/mv.svg":"flags/4x3/mv-a17c947e17adae6aacef01a3e131c4150aa094911b53fbaead41783683e008eb.svg","flags/1x1/mv.svg":"flags/1x1/mv-d138e94d9d2ed093ef1425c1164493b780202f9a7f7937241a7b081b79ff8b01.svg","flags/4x3/mw.svg":"flags/4x3/mw-21f116afdf71df80e3c59084c6ba640814fa5389430328ff55c9403b5c239632.svg","flags/1x1/mw.svg":"flags/1x1/mw-5c2228d3f1cf1f9cf8cb158e813202981828c11e8caf117836fc57fa6bc1c788.svg","flags/4x3/mx.svg":"flags/4x3/mx-a235f9b16921590b7e78caa6f76339361356946eaf0046badd10732b4647c0b6.svg","flags/1x1/mx.svg":"flags/1x1/mx-cdab01ebcdccc020ca16e1355ef1fd18ca0043b501f399ca8edc48adfa8c7292.svg","flags/4x3/my.svg":"flags/4x3/my-0ed63574cf5f20c0663ab8cd1f700e150fb641fd0b93602ba013abbfaae5ee59.svg","flags/1x1/my.svg":"flags/1x1/my-5e8d31ef06ffc8af33a5616d760592ecd022c52afc8ba33c721f1e4989da0628.svg","flags/4x3/mz.svg":"flags/4x3/mz-752e2293917b1d2ece3f097104caeadf6a679054a779e9d3be8e49dc324bb88a.svg","flags/1x1/mz.svg":"flags/1x1/mz-300cba975ad43c962ceca0d266ded1fe3d21d6b4d701d657fb42b27268ea2964.svg","flags/4x3/na.svg":"flags/4x3/na-a0655a2e70751278e6a60d31e818f672864a6e68e8b3d3361b2fbb70fa9bfef8.svg","flags/1x1/na.svg":"flags/1x1/na-1ce089a189db5be15eb05df8155f9bd017b61fc1a497e5b3021ff2ca664e122d.svg","flags/4x3/nc.svg":"flags/4x3/nc-0c7171d91c44414ed69808611db588f1283ee7e34ea8a74a9a5101ba4b1cb305.svg","flags/1x1/nc.svg":"flags/1x1/nc-d3a1629f06dc3200af7669f2d895fce1908d2c1ca02d71e530bdfa6646a9516c.svg","flags/4x3/ne.svg":"flags/4x3/ne-2b61d30a6cb4554535538e3b753926853e8c629a494a347286b9731c803548e4.svg","flags/1x1/ne.svg":"flags/1x1/ne-9c5f798ccd7d3dd3771ae628b4a39dfb2a4578fefd2e006f3ce89c3e494d0cb1.svg","flags/4x3/nf.svg":"flags/4x3/nf-4e615baa83a8b4db3e39fe1d251ab913943d64e0cd320f251d619ab54e7512d3.svg","flags/1x1/nf.svg":"flags/1x1/nf-45403247c90050484813acf23c50f543779528e346317274373c3c24fd830103.svg","flags/4x3/ng.svg":"flags/4x3/ng-d52fd188be973f31dd34e5a0b3fed0de68fe736c8a41c6028d9c248c038c8641.svg","flags/1x1/ng.svg":"flags/1x1/ng-f22edcc5867554d69ecbe15add0fbbb1389631f3ced07a4f820065c7770c65f5.svg","flags/4x3/ni.svg":"flags/4x3/ni-2fbb883e46fbe3b2ecfed9dac004ceb546f25c77a84a5966eea224674aebc610.svg","flags/1x1/ni.svg":"flags/1x1/ni-214aed148b615c4846f842b47f99cf178ac62a96cf18c5dd6b23467184b56680.svg","flags/4x3/nl.svg":"flags/4x3/nl-4f0ecea529dd4c0099dd41a7801fa5ac44aa04cd872ca31e11efd58b5a813774.svg","flags/1x1/nl.svg":"flags/1x1/nl-9c8f60e638879d642487818975e58c61cd3102f0e68c360708243c076436ff68.svg","flags/4x3/no.svg":"flags/4x3/no-270f7ee9d1d2efa6abf16f693faba8586adae842d79d8aad9e3f37e96c27cbce.svg","flags/1x1/no.svg":"flags/1x1/no-7d377325e8c5ec4de0376e9f4c13463f183af637e6c443716f22020c7a313979.svg","flags/4x3/np.svg":"flags/4x3/np-69637ddb3a173c4522a71598278aa32462e1762e34dd99c9dc99a515433a6cf8.svg","flags/1x1/np.svg":"flags/1x1/np-44ead118cce3a1fcbb720cc8d6eab6ecb6b62292315f61ae5963a40262ee11d2.svg","flags/4x3/nr.svg":"flags/4x3/nr-0bd3c0ba7bbac4bd5985b838096eeebd67711d39065619ef092fa4bb55b22a6d.svg","flags/1x1/nr.svg":"flags/1x1/nr-63b9c44e5dd66a59895f52707dc24db5bd1eab6e535298d24e414c0f2dafcb3c.svg","flags/4x3/nu.svg":"flags/4x3/nu-259989e1eea0cbf6b41a33176a4c9c1eaa2e7ae6571ad80a324c6309bd5aa5fc.svg","flags/1x1/nu.svg":"flags/1x1/nu-1cb535708f64ed8b386a245e571e677e935009af92f2b214760a2832c1ee1b53.svg","flags/4x3/nz.svg":"flags/4x3/nz-90ceca2a683fbec395a91b77b0880cea99c3b2cbdb24caa5474925cbdcc3675e.svg","flags/1x1/nz.svg":"flags/1x1/nz-b0d78f165a72edd46599222a2ea5f6a91a8252975cb03e33c4ca08e389859aac.svg","flags/4x3/om.svg":"flags/4x3/om-aadcca7bc7ad318400097b84849dd64c4744306cd9b4f152fba34f2e84116965.svg","flags/1x1/om.svg":"flags/1x1/om-705e2bd2b2fc7d13c152aa06bfb9e6ee4ad8b299f8c06ca16adad0b18b2b18ed.svg","flags/4x3/pa.svg":"flags/4x3/pa-027e679bd65dcaa2c53145a14669c1e674a467a889ef702cbe2a260f7ca8ad38.svg","flags/1x1/pa.svg":"flags/1x1/pa-edeb4faeadaa286de7fdc667e25d38ad0cdbccaec5023182fed6a3c74e8b09eb.svg","flags/4x3/pe.svg":"flags/4x3/pe-7ec59842737c90d6ff543f1831fd69b51e1e7ee1b068c3ac6259cbf2c214d611.svg","flags/1x1/pe.svg":"flags/1x1/pe-97d1b8ed1d4ed5e5f0348a731ca4a3a4b9abc7d440447dc87a521f229f375ed3.svg","flags/4x3/pf.svg":"flags/4x3/pf-27955c73c5be4043c5b7ddf64c8f46d11c6648e3b1fc0efe028b8afea21a40e1.svg","flags/1x1/pf.svg":"flags/1x1/pf-83e3e1d36fba45e015c62f938e6d182029edc05ebfdc50bcb33860f36f96d73a.svg","flags/4x3/pg.svg":"flags/4x3/pg-c2fdd2551f9044c461eccfae2d7ba0a347a99143f6002b71a429942af0217897.svg","flags/1x1/pg.svg":"flags/1x1/pg-cf60257fa85f9270b1e9980e703435186110167f76c153bc460c10ee8b2d4b09.svg","flags/4x3/ph.svg":"flags/4x3/ph-bf3394850a6cec6a535420eabce263e7f8193413e4af1fb317c76da025388c1b.svg","flags/1x1/ph.svg":"flags/1x1/ph-006c3218effe4269252cb9638de82ea339eb2894951705c630533ceffa842169.svg","flags/4x3/pk.svg":"flags/4x3/pk-b64f6a32e5bb598f57cfe49c4899c2021f2d153653f3d92101e6e11b2158e500.svg","flags/1x1/pk.svg":"flags/1x1/pk-d2d58def913c9081c5eeeda5f0b6895068ec13c955694e359531e23422145e60.svg","flags/4x3/pl.svg":"flags/4x3/pl-f55a710991a94c2e6c2f9f1a7a4a36ebb84b24b7c9d9df4e1ffe86d61321fa6f.svg","flags/1x1/pl.svg":"flags/1x1/pl-fafb539259385f2b99df910cff085710a9b4d9706b74e4e0f8a6ef627615c4e7.svg","flags/4x3/pm.svg":"flags/4x3/pm-8f6338d2ae3e0e42adc9754720ca21ad4979095cf6d7467a8db5a5a1c3e0b2a5.svg","flags/1x1/pm.svg":"flags/1x1/pm-63029c6198dc42c404ec39807a99528b1d198eeeea6f9a1e309548242480140b.svg","flags/4x3/pn.svg":"flags/4x3/pn-4006c11ca83011c0dd60a13ac30b27da0578b9f1368bd8c6de5aab423f6662d8.svg","flags/1x1/pn.svg":"flags/1x1/pn-6c433f7f9cb79c6d5ed7bbeade8a495e3b26ca2604f4fd3995096109684ac5dd.svg","flags/4x3/pr.svg":"flags/4x3/pr-6287e1515fa80e2d05133ed93f14ca03a1be6909a9ef6c736fd60f9c9fe73132.svg","flags/1x1/pr.svg":"flags/1x1/pr-526985b3a6d2d6de577ed0ed92d0b49ce854667e3ff630304813fd5af15527cd.svg","flags/4x3/ps.svg":"flags/4x3/ps-31f50e1fcb44b9aa6e9ce4473c3085f744e70ea0fa1fd8d85787f4e7b0c4a69b.svg","flags/1x1/ps.svg":"flags/1x1/ps-c43918bc71bef71b24dd46e8cacc53e0df53e02dcce6199d06d11a4637f08a04.svg","flags/4x3/pt.svg":"flags/4x3/pt-9aab20caed714ee47fc408f017037aea94a649b3ba4d87e2da37870ee31e4f92.svg","flags/1x1/pt.svg":"flags/1x1/pt-a309869e5018c9690a65ebdf8a2d69d61f82772068a7920f9680ed0581ae5966.svg","flags/4x3/pw.svg":"flags/4x3/pw-9262037d114d0f61571c74f9a5455809709b43e6565443ae2667981eecb5f12a.svg","flags/1x1/pw.svg":"flags/1x1/pw-a6f42019653ae26d43c6e9b7bef83fc98cff8ec5e8d0c50ad7cb0a17d5e565a6.svg","flags/4x3/py.svg":"flags/4x3/py-5bc9e9f0dee94ae3d9bd80ae6fb1aac297dc81a1c592d0a73bc3383bce73af74.svg","flags/1x1/py.svg":"flags/1x1/py-182eff300f4507fd9399fb6310d1cd3b45adadd7924ad2814003c7111ec5c0de.svg","flags/4x3/qa.svg":"flags/4x3/qa-32c93970f8e521850eddfaf2a89dfff987f0ae3b0b73a253c301b61cf547cf9e.svg","flags/1x1/qa.svg":"flags/1x1/qa-182e4d8ace2607d0c02d3c29d65eb084af71092357006bc41cd601981ec3b81c.svg","flags/4x3/re.svg":"flags/4x3/re-8b2ea1f2727c266a2b80cb12a9b7195f6b656f521552b67893b6761a07f9bc92.svg","flags/1x1/re.svg":"flags/1x1/re-07eb7d855022bc678b47b0ce5fd05da5044d6dde86ad3697d4ae55c68ff447c1.svg","flags/4x3/ro.svg":"flags/4x3/ro-4ab797571e1d9eb326486f75654a4590fd33f20444f85b77ba0997eb6138c21f.svg","flags/1x1/ro.svg":"flags/1x1/ro-ddfcbaec04d11bf7f95abebd1d3a42b2862b1af8fca9b02764a6ed0e409a1d75.svg","flags/4x3/rs.svg":"flags/4x3/rs-dd8a52473ea40e23b393b5f4a30d1edd91865aab167f0c1835ae84b15dcce585.svg","flags/1x1/rs.svg":"flags/1x1/rs-42bf40209c92e4e7169daf29fbcb7253b2804eee7a463051529327f38851f865.svg","flags/4x3/ru.svg":"flags/4x3/ru-13f4525a4caad6e31afa523d2bc4a0c1e6377c0bef1bfd872682130d3f199d1d.svg","flags/1x1/ru.svg":"flags/1x1/ru-b9792a963faf667447e0456dba5be80a3b37c197a4284d1539a3433721d9e2fe.svg","flags/4x3/rw.svg":"flags/4x3/rw-bc38bcd6e19d2941839b253af6e863b13338cde1174874f9674471026c15e422.svg","flags/1x1/rw.svg":"flags/1x1/rw-456698123775b83d2b0fa1b9fe073f9ccdba0b6bf39a703b8979dcce158eb32c.svg","flags/4x3/sa.svg":"flags/4x3/sa-2b2fd6abb48415d5407c576c24a24fbd80af5877ef06cf2d026452f6c67f5f4d.svg","flags/1x1/sa.svg":"flags/1x1/sa-d9ebc73e7957f86604164dd5054fb32601ad14d7dfd4bfe73da5bdd10bb2f8ae.svg","flags/4x3/sb.svg":"flags/4x3/sb-37761927039d0a37ba0995c59fd31bbe36c8a0ca161e5b72b8131e3659f8dddf.svg","flags/1x1/sb.svg":"flags/1x1/sb-bedbf8464cd82f391bfe6178c63055b650d0cf3aee60c37fa79a586f95783b79.svg","flags/4x3/sc.svg":"flags/4x3/sc-f6a2f8f37be93f07600b491b52cb58d80d74b92d8ace0af313f4ce081b0d1345.svg","flags/1x1/sc.svg":"flags/1x1/sc-5dcd01b98c34460c9624280fb5047811fbae7d976620cd0a70ad4263a9085b60.svg","flags/4x3/sd.svg":"flags/4x3/sd-cc9cf97e8a37622b9e1bad28811d46c4471595afa448dc055e0e3aae7687fe4b.svg","flags/1x1/sd.svg":"flags/1x1/sd-1f5d13f9780085acbaad13d959b1918c796ba7b0450954b15d145e87cebe045c.svg","flags/4x3/se.svg":"flags/4x3/se-84b06bcd5bd90ea8dd6d1c3c8d2799a843c47b0256ce098aef75414964618286.svg","flags/1x1/se.svg":"flags/1x1/se-39f128686652cf914f8601110fcc9ac879bca204407013b93aff4ca4fb2ed9bc.svg","flags/4x3/sg.svg":"flags/4x3/sg-a82acd90077e76318ddb0be96999d9695b9a9f4627e8a0f341d3987a62747dcc.svg","flags/1x1/sg.svg":"flags/1x1/sg-c22e093634568aae249bf35f9ddcaa6796b5f27d76c39ff5336abf7f1b8a47d4.svg","flags/4x3/sh.svg":"flags/4x3/sh-57470d9a75955f0fac605a94e853bab524c7461a4c025e809fb09db762ebe46f.svg","flags/1x1/sh.svg":"flags/1x1/sh-8d06a0fff61e51eb65357d138e00736545835b8649aa2694152f4cdc9f941c16.svg","flags/4x3/si.svg":"flags/4x3/si-289d6417f154323e7922df09ffc0f49ded31548c7ee8020c39cb85724ffbcea8.svg","flags/1x1/si.svg":"flags/1x1/si-ca40a5f4f38119d6f52ffd3ddb36af95951a2aa1fadcd897f5bc1641bb2e0051.svg","flags/4x3/sj.svg":"flags/4x3/sj-67d4cdd268d0c0cd93fc561b506cb5646cb508385c93ed350d11f94aa1c83833.svg","flags/1x1/sj.svg":"flags/1x1/sj-f7c489607033138039612d6abe7f4b0b4b6dada5cac75d78204f404a0d292b1c.svg","flags/4x3/sk.svg":"flags/4x3/sk-a0bdbb7f5d6998ffe9fcbc80bbdf0e6cff3629740d2ce1b8d61025e0a8b322b5.svg","flags/1x1/sk.svg":"flags/1x1/sk-a82a813b2d81af9be1aa775f22b2c2457d11e870e072d7e23957a11d0878faed.svg","flags/4x3/sl.svg":"flags/4x3/sl-be265bed24cfe0b25778201f251e52e4e721e3d319795875913805d1aea84ebb.svg","flags/1x1/sl.svg":"flags/1x1/sl-cb8bccbaa21957f006ed4ae0144da81c999e93bd8014023b16b500fdcdc397d3.svg","flags/4x3/sm.svg":"flags/4x3/sm-d7818df3f8f2d5dbed27dc5a0a80b1e41cdcd6130eeff221da58f0321e925f27.svg","flags/1x1/sm.svg":"flags/1x1/sm-6f87660dcac925bbdb036c79a0e20d3b208215d327be4c4764ae1069d6464efd.svg","flags/4x3/sn.svg":"flags/4x3/sn-b131b17a374bcfbd00d442d282fa52f0e4e0e448cda1cdfaac25a95ff56443c0.svg","flags/1x1/sn.svg":"flags/1x1/sn-d180d3ce9846966dee6a3d9433ede7d24801dc4311636aabd470ec5b8765d772.svg","flags/4x3/so.svg":"flags/4x3/so-3b5b77b371299478144a94b60c99524fb6b99bfedb3dcc976ab70185e07f399e.svg","flags/1x1/so.svg":"flags/1x1/so-50aa941f2d2954285ef9e5ac260cdd264a73cf2e4b0c627677f04141fff2afd3.svg","flags/4x3/sr.svg":"flags/4x3/sr-94d0f0aefcbdea8d7ba35648eda5037e99bf4126723ce36416582ea43b08d3e2.svg","flags/1x1/sr.svg":"flags/1x1/sr-3944d683068d437471725d22fd71ccbe6a63ae307ff9775690417d3bf262cf82.svg","flags/4x3/ss.svg":"flags/4x3/ss-f391e5002cbce83f97f7d1a11c284fa2e36a7d6dc734757d733656801ab17d0a.svg","flags/1x1/ss.svg":"flags/1x1/ss-853bd9f713d2f6b1fe540a82e8bf4754912da21575b3fe756b8741767f318f7a.svg","flags/4x3/st.svg":"flags/4x3/st-b52bb48a2c0800f5cb4b07bdd93c3908f77bcb6800be883ebf943bbd3d99d42c.svg","flags/1x1/st.svg":"flags/1x1/st-d8b5b1c8b9fe947086a4d277d2ac5d6b9cff188dfd37bda66c8bf5e02c5facc8.svg","flags/4x3/sv.svg":"flags/4x3/sv-6d02d63c7f04c9388e98f892cc43d8daa2110fc84242758d5627fcd247bfd09b.svg","flags/1x1/sv.svg":"flags/1x1/sv-fb4c8d7eb98396a93c5b9c37195d70e809e0d71d8b8f9316e842121f95bb82ea.svg","flags/4x3/sx.svg":"flags/4x3/sx-fb6a7b1cbc5b29eeeb39a5aec64ef7aad432c37bbe848d29955a3786b9763224.svg","flags/1x1/sx.svg":"flags/1x1/sx-a37b124212f8530b921aef7657cfb35c2895a731c7a06f333faee4c93f32806a.svg","flags/4x3/sy.svg":"flags/4x3/sy-e35f8d88c864ed4f38edb2f9f96d5bd69f6df078b50515b8c5467bf6b1689f50.svg","flags/1x1/sy.svg":"flags/1x1/sy-5d537bd5b42b58f6e8a7e33fbe5942a16126abb639edf9cb58b88938c57ebaa9.svg","flags/4x3/sz.svg":"flags/4x3/sz-c65ae592e943217787848364bdb4c57335869f4626ce705adabdc2620669c1c6.svg","flags/1x1/sz.svg":"flags/1x1/sz-dd3d1c65bdf09317553f205e588e3dc7336acec1cb9315bfbe0f5bd8ca5bba3f.svg","flags/4x3/tc.svg":"flags/4x3/tc-594b6cc87040836c6d6777afb5833d565d3e5e75f404350a51443ec4588a1ccb.svg","flags/1x1/tc.svg":"flags/1x1/tc-34a37006252eea340488220585c31d047b57e3e7934c77180d930972aaceadc3.svg","flags/4x3/td.svg":"flags/4x3/td-b67a1978e3badb895ff640c80bb6c0e33eac354220c08cf3fc93d62bf5d685a3.svg","flags/1x1/td.svg":"flags/1x1/td-556b3a7991c17010cb7e1ff23c4edcc2dcdb8c406a128d407fd165ea8a19d311.svg","flags/4x3/tf.svg":"flags/4x3/tf-35cd83351521f3022a43e01f0c40f34663a66ac1e92045979f31d3fd65c16d02.svg","flags/1x1/tf.svg":"flags/1x1/tf-485e71f61ff577735dbc4ba1025515c22a83c48ee7f3a2ed49804766c35f6ea5.svg","flags/4x3/tg.svg":"flags/4x3/tg-24b25f4c2213fe35e5f5586d7ab23abf0c25ad2049708cd52ba72e1ec7b754ff.svg","flags/1x1/tg.svg":"flags/1x1/tg-05f3d98392a5ec3e4aecf8f629d3d03f05ac55abb7d9d84187d599acfe271374.svg","flags/4x3/th.svg":"flags/4x3/th-cc936bacd84dddd15454ef06bc64e357f83854af34692fc37363272d61f637d4.svg","flags/1x1/th.svg":"flags/1x1/th-de82cbd770db2be53a8e3d59d86e2b748a5d3f96eb8584f7b9364cefbd06a172.svg","flags/4x3/tj.svg":"flags/4x3/tj-b90bf3e2dd63265d55b67962b160df65f021c42b6ea304e2943c10b9e2a8749d.svg","flags/1x1/tj.svg":"flags/1x1/tj-5f6571e74b1f8720f9ecc2d3aa2098ca45d2e7ad6602b2a57c206384719b9f36.svg","flags/4x3/tk.svg":"flags/4x3/tk-602520b29b909c96baea17a38eb654d6c6fbc7088f46a0cb8d8fe34ff92e3cb8.svg","flags/1x1/tk.svg":"flags/1x1/tk-fe1dc8aaa0643a45a74ecec8aec09f0fe2207d104bb3c28c0b84405f1275aeba.svg","flags/4x3/tl.svg":"flags/4x3/tl-ebdb862aa5ae5de1a72242571deaa70bfb222f488a93b70e304f2075b474d54b.svg","flags/1x1/tl.svg":"flags/1x1/tl-485f02183bdb192ba3ce6e5f076e184112739f883ae0a8fde33c454377b848d6.svg","flags/4x3/tm.svg":"flags/4x3/tm-5ddb4128bf0becd7c60413d5418027f5f01ca4bc72561d54b94febfee7a5a24b.svg","flags/1x1/tm.svg":"flags/1x1/tm-3521ad569a4095aa8d4166d5d9094fccfdbb3ea411207ad685b6dd5814ef3392.svg","flags/4x3/tn.svg":"flags/4x3/tn-ca27eb50d88b11d20b5b09e2bbecb7753267222489920c526608e5d2acd22d79.svg","flags/1x1/tn.svg":"flags/1x1/tn-222c6cd4742c558f48ebcacb47ea334057642fffa3456a1c75e0fad9e728d09b.svg","flags/4x3/to.svg":"flags/4x3/to-c9c509fc24f591fbe52bbf732c44291384c787796e1fc9c703a973587c3f8ad1.svg","flags/1x1/to.svg":"flags/1x1/to-cf26dfb44b56b915b2f11896355cb778b938ed54423311d69d7cda9626887dda.svg","flags/4x3/tr.svg":"flags/4x3/tr-c40f697070cf8d8358785b9203d1c8f438976e3cd644a87d9ee16fa9960deaa4.svg","flags/1x1/tr.svg":"flags/1x1/tr-627dcf91a1e5153c045e33a3459b5d56002530fddd3fc53927f4d0fb7ea004a5.svg","flags/4x3/tt.svg":"flags/4x3/tt-04786ffedbde2c96a30ad1cbf4db000848f14bd700324651fc88364e5f3c2fd0.svg","flags/1x1/tt.svg":"flags/1x1/tt-6a3c73bfa7782366d95e673d847ef8f84c0475b364d359def1efd264297bac30.svg","flags/4x3/tv.svg":"flags/4x3/tv-20b56e7c0a2fbaa2a0b7b1bd87afc6368440f175fb3a0589de5e34e99d163fd7.svg","flags/1x1/tv.svg":"flags/1x1/tv-8bce1d7bde2e20dcc473ed3a33c66e4bedcf1acf2d2fff6d54353a480b8cafbc.svg","flags/4x3/tw.svg":"flags/4x3/tw-36070ac0a15ab1f4811478da62e7678756a9aa266b141ed0549aba1c0e04333a.svg","flags/1x1/tw.svg":"flags/1x1/tw-fd7a0db2f3808842ca99176f097356fe9e6f3c120d6aa9e8c4a9c2dd4c3943ba.svg","flags/4x3/tz.svg":"flags/4x3/tz-51ad7d69f059075df61b9226468af0d78642af4ad34a7540f64c5bea82e803d7.svg","flags/1x1/tz.svg":"flags/1x1/tz-0703f29a7ae02a9a1753cb1726dd2934d75ed3a12e8d63faa9fa866e1fe61440.svg","flags/4x3/ua.svg":"flags/4x3/ua-7f7db03c3b492aaacd11b0abac70d543a7c0ec5265a36d529bbb80a7c432d81a.svg","flags/1x1/ua.svg":"flags/1x1/ua-25192fa80f120edb1dd1c4757fd7b79ef38f5e1729238f4135003e6a1501bf28.svg","flags/4x3/ug.svg":"flags/4x3/ug-7635df53eafdf411be0809df835bfbcffd61badd6c4df3db0909c8b3188015a0.svg","flags/1x1/ug.svg":"flags/1x1/ug-537f34f64e723fbe7cb7902ea0e61303f1ada79214197efc39ebe2c52ce24186.svg","flags/4x3/um.svg":"flags/4x3/um-a0ae80e34bbf94677dd6052ea87cc0090aba747dab5440e5ca6e231f7f07c96d.svg","flags/1x1/um.svg":"flags/1x1/um-3f1bc09babe7fdcf32518bb49d1aac3a66d0204f955eacca291c58d4f4ef895a.svg","flags/4x3/us.svg":"flags/4x3/us-aefd8f7e57d11f7b0416d01d9c665ab3848b10af849f35a4d772d58d24d83329.svg","flags/1x1/us.svg":"flags/1x1/us-87af45be9346e8c820312976abe332ee11f8931e29fa361328d28660a711b1e2.svg","flags/4x3/uy.svg":"flags/4x3/uy-9f636c8283abf56cc930746fd427c1d1644dcf8736c537629df13f760da96ebc.svg","flags/1x1/uy.svg":"flags/1x1/uy-e216b762a93ec55bf9b4ae3d35b7febe0b192a12246fd66c45139ce77fb2095e.svg","flags/4x3/uz.svg":"flags/4x3/uz-697d596705372323beddccb3626d1ce405b36249315c6b006ff1529e24909ceb.svg","flags/1x1/uz.svg":"flags/1x1/uz-aa34cbe4f6f0e4b5d890975578d28cc9b1e88ebd503d3bdca693748eb29b3353.svg","flags/4x3/va.svg":"flags/4x3/va-d24d3c5bee108c396997c3d5b2bd2273433752d8c222eb531650e51551a4afd0.svg","flags/1x1/va.svg":"flags/1x1/va-01160c1bffda12f0b94554ba0c50162a88da807943617334bd4c57a030985e95.svg","flags/4x3/vc.svg":"flags/4x3/vc-ddf979bee2889414e5a05ac55f39a9c93f34e0aff0d35f007605049a2d8b5afb.svg","flags/1x1/vc.svg":"flags/1x1/vc-ac776e16dec19ff2e2d9238f541dae5d977282b451a83ab3d4122efed2392be9.svg","flags/4x3/ve.svg":"flags/4x3/ve-e23abd006cc75a8c4f9ec1cb122b46f9b52e26c5606532d2c868277d4ccd523b.svg","flags/1x1/ve.svg":"flags/1x1/ve-1480713f28719e0a83da2c5f1333407dbfa5bcc0de8c9ba718fcf47273ee95ef.svg","flags/4x3/vg.svg":"flags/4x3/vg-7f8f24a4d6995e4dd39e3d9098dad5e14649821fa12ffc200edf0a586285ee15.svg","flags/1x1/vg.svg":"flags/1x1/vg-b464b6a78e46c29df9e4bdadc2646208f11c59168706456075f970552a24efa8.svg","flags/4x3/vi.svg":"flags/4x3/vi-58311325a293b046044976d899f288ce0fbe9bfd705a23947a9b38d7991983d7.svg","flags/1x1/vi.svg":"flags/1x1/vi-1c132d2cff66cdbdb7b6acf504bb0cd9d7579595d80c3fa6604ff24ca7a0184d.svg","flags/4x3/vn.svg":"flags/4x3/vn-a918d3c9cdc368b1d2ff9614d58cbcd1d43b725889b0ba18f5d4e693071e389a.svg","flags/1x1/vn.svg":"flags/1x1/vn-895e428ae3d98c99dbb02088cf8ef040bfb031df6f16c3c8fc3678505d869791.svg","flags/4x3/vu.svg":"flags/4x3/vu-2c286c778a7bed03cb603ab24b68dc91868f4f054cf4f851bdd17aa16731571c.svg","flags/1x1/vu.svg":"flags/1x1/vu-51ef23121e2641ebeeac50d31c4e52b7d00d3ab1bc9fc0ad95ea86fd3631975a.svg","flags/4x3/wf.svg":"flags/4x3/wf-f7e9ac5edac196ac32d7bafa04b5c0d924b89e9d7e4f3535a6a26c6c1523639c.svg","flags/1x1/wf.svg":"flags/1x1/wf-95a920a79aa32d92f8a362321aae4230e17025ac04d976593f4423d0c37c1aee.svg","flags/4x3/ws.svg":"flags/4x3/ws-efc6505a802a3fa2018bc102fc2e11db8c738464c619381b6edc32d0a89341a3.svg","flags/1x1/ws.svg":"flags/1x1/ws-e3afb81c037c814620027bf61ac5e266683cab7ba5796ecf10b64c110cfcb932.svg","flags/4x3/ye.svg":"flags/4x3/ye-fd88856e70d66b01b4f0f608936a61cf3b1d9dad40a2932fc5da4d01f72a447b.svg","flags/1x1/ye.svg":"flags/1x1/ye-0c0e32330871e6d83af54affb7dadbbe736f9799068508211fbae54db9bbdcc6.svg","flags/4x3/yt.svg":"flags/4x3/yt-2eef17b543424082d9f9b42a67e84c20b52e7f7eae8c4326d60711158da51d5b.svg","flags/1x1/yt.svg":"flags/1x1/yt-911da8075337fd8f75ecc8a338c294cb771c6b9a08576f96c9de1437888cd2a7.svg","flags/4x3/za.svg":"flags/4x3/za-45991a2aee307198510e56bf92523070aac4241cafe6c3ddb8f89b20a61d6371.svg","flags/1x1/za.svg":"flags/1x1/za-bc09a89b29311ea7e582ef60bf4e18aff7c29de6fbefe309463ca765723a0ce8.svg","flags/4x3/zm.svg":"flags/4x3/zm-07c0f30d86e66d0cad9d66cd9c9384d9cce1844f159d245deff6717101fe49c2.svg","flags/1x1/zm.svg":"flags/1x1/zm-fc5bce3834c71fe36617ea5f57f0bd1dcf3880a7c6aa515dcf92ae067f796241.svg","flags/4x3/zw.svg":"flags/4x3/zw-5217c74f14d9fdda244b69c5982bbabee052ac0f1cc0704926e8b1e621e50f9a.svg","flags/1x1/zw.svg":"flags/1x1/zw-a33b191c631709b9e1d85e06f5b15535fb544d4668c8bef865ede2a0b6a88ed9.svg","flags/4x3/es-ct.svg":"flags/4x3/es-ct-bcbb454a50c9a647efd43dcf041445f15e8dd70654bde530bf62401d4fb7738d.svg","flags/1x1/es-ct.svg":"flags/1x1/es-ct-7f13eb2b2f5c11dccd7043286bed7540d4dad4b1a8367b0aca1b8405a351b2ef.svg","flags/4x3/eu.svg":"flags/4x3/eu-5f129db64306353251b78f998d531d2f1019404cfa890ae63ed70dc316c7f240.svg","flags/1x1/eu.svg":"flags/1x1/eu-ec59ac8daf2a63ea8e299ad63a208445d68a96affe6a10a7328acb6799d44127.svg","flags/4x3/gb-eng.svg":"flags/4x3/gb-eng-1895f4e35ae299f5d869da2462ffcf98df4b08dcddc531c8f175e49720001a14.svg","flags/1x1/gb-eng.svg":"flags/1x1/gb-eng-d11afb87f40f35acda435a886ea044bd5e0b6f363ba0c7319f1d0181551fecf3.svg","flags/4x3/gb-nir.svg":"flags/4x3/gb-nir-b280f09c787f495c1074376cd67537b40216f672917e7d204bb12b8e7c72afaf.svg","flags/1x1/gb-nir.svg":"flags/1x1/gb-nir-2e516e72e0e8e244ef430e6608322f8c4fb276807ab033279b2a6570dd68fd41.svg","flags/4x3/gb-sct.svg":"flags/4x3/gb-sct-1b9e407802ae901cf8da740c382ec2b19821837d76271a73346e0c63c2244506.svg","flags/1x1/gb-sct.svg":"flags/1x1/gb-sct-d01e8a06a340e30ce52e8a3aba7ca6207afb96fdb238a815cc6cb92df8fa5df3.svg","flags/4x3/gb-wls.svg":"flags/4x3/gb-wls-5232b3e376a19866cddec8225cba242783b2a48063811957f1ce5a2c347c5bc9.svg","flags/1x1/gb-wls.svg":"flags/1x1/gb-wls-126615bc3597fda1ca4ee931ef24f6c2cf2547998c06db9c1ded69fe66c479e9.svg","flags/4x3/un.svg":"flags/4x3/un-31dece22ae18c3e01e86648ef3ef45f2f5b3d9d28a1e2bbbcdb1d87c37af55af.svg","flags/1x1/un.svg":"flags/1x1/un-455b5f3173ca9ac64f2135fac4ead7217d7fbe07551d0d2cc60216f83208f798.svg","leaflet/dist/images/layers.png":"leaflet/dist/images/layers-1dbbe9d028e292f36fcba8f8b3a28d5e8932754fc2215b9ac69e4cdecf5107c6.png","leaflet/dist/images/layers-2x.png":"leaflet/dist/images/layers-2x-066daca850d8ffbef007af00b06eac0015728dee279c51f3cb6c716df7c42edf.png","leaflet/dist/images/marker-icon.png":"leaflet/dist/images/marker-icon-574c3a5cca85f4114085b6841596d62f00d7c892c7b03f28cbfa301deb1dc437.png","markers-soft.png":"markers-soft-e78784e4ed70aaffddd73c315fab590233cc4e7b72388d7dd47a14796fc7c739.png","markers-shadow.png":"markers-shadow-8703a2262710f5e3d29e65d2acdf90d6512e159e119d27b8234731d8a6208a20.png","markers-soft@2x.png":"markers-soft@2x-c1e77253a8bfbe30cec24885d7046f443b76ebb66f4c961f77083b03f4a5cbaf.png","markers-shadow@2x.png":"markers-shadow@2x-b21a536be27313fb504f69f5899ff0b1245b276571769ac08d6c32c35676e47a.png","events.js":"events-f12a16c68c84767cfc222c763d56e2209bc4d5ad519f05095f2d4429c0b1a315.js","filter.js":"filter-2ec96b9d0c650c880941d7e9fd568decd1d587dc037d106144a07ad103b0e0ca.js","flash.js":"flash-41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7.js","frTypo.js":"frTypo-fed98b7d2ce187c2a3cff9153ac6aa2dbf7b91d33809da77c6561ff34d1be836.js","list.js":"list-41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7.js","maps.js":"maps-e86261c3df6f4ff292d786ab7261c98c408f466557b2f4915ae6dc25c1a05819.js","moderations.js":"moderations-c5471afdd75123fdbb36ee14b85e6633c8127d0c115e35931616c329a8605380.js","notes.js":"notes-85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb.js","orgas.js":"orgas-85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb.js","pages.js":"pages-9dcc8cb3626a9f198ab95f9e64bb4d269167a7405dd07f94140f5ec6d32b6084.js","pagination.js":"pagination-ab6b8afabe3d53764287ed9d0ee9d4b7092cab98cdfb453a54471066fed05aa5.js","setup_tinymce.js":"setup_tinymce-d8387e12966ef5097652a4d0a20baeea770fe700706c5bb25be979bcd361aa4b.js","stats.js":"stats-40295d647e6144715bc9fb45f60096ddff913afddf11844aeacda47cbed68400.js","_variables.css":"_variables-d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6.css","agendadescommuns.css":"agendadescommuns-734d24884af76ee167fcf102dbdbec43e5b2726e65f40c350ad3800f7ee99f55.css","all.css":"all-a55a9ed762f8344ecd74346308ae7066a283d34302fbce1ef5924ad5ce19bb27.css","digest.css":"digest-e13dd03a72165cef5027b81a774f458fe1a6910d2baaae84bae560b3199a77c3.css","events.css":"events-bb56649a8c5b11d0b8005a8e23e7560f34d7b79fcccccffe4a1407102cfffed6.css","form.css":"form-f1da5f65f35af4489cf79067f5c0409ae5d9e41aa8286fcfef13727fd46aa988.css","frTypo.css":"frTypo-ebcaa45fa7c0bf7821d05959aaceda63d26a30d30079e70619932b0e1d49f512.css","list.css":"list-d5aed2f96e49ce444974d43fb9d53d43f2ae1f5bb5b1716e5dc245447fd64316.css","maps.css":"maps-644829bf7b14b0c1b73efb7b2d44049969271bd969174b5bf7c53d0159cf424c.css","mobile.css":"mobile-59b7aeed8e7ee6e2ced7bb7a6f26ae9e4e2ed3c514a584c0e706128b4ad7fe36.css","moderations.css":"moderations-ede8f4f2808ab572908780f2daea2ea4e76b1d0b0c5735d744bb7cc51fb69895.css","notes.css":"notes-e607250b9cef023a762c009acc65c3320ec1f6d5814a30aa3c1ba907b4f8cb5f.css","orgas.css":"orgas-dd7a2a3fc67e9fa14675e1b59263b8f83e052274d6b900875b0ee4494143ad80.css","pages.css":"pages-5eed9147c9cfe84eb1299bc0ca0d8b0c81fb0c07ecb38e26949e7d4e483746e2.css","region.css":"region-0d416c6171a588eb6a1a40642f2984f08b0b205d2eab077b12bd859fd60cef3e.css","scaffolds.css":"scaffolds-c26fee551087c3b72541cae52a1cc6b454f153e2d04c01d4b35b9ec1ae6cf09b.css","sessions.css":"sessions-d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6.css","stats.css":"stats-a22ad34b2184e63c6ee60f75829dcae68c2a3e9094a0af419e06306b5b68af45.css","tags.css":"tags-c338d658bc3a1e40d8c6694d1fab6a633686ccc2c626563f890384fab38c20f0.css","versions.css":"versions-3e2a6ffdc6f7728b0e5e517a208c4d1a72167a6d4da6bc4d36db4941150926bb.css","tinymce/jquery.tinymce.js":"tinymce/jquery.tinymce-288911771c7167ab9efe3c86b2ec5ade1cea510dc1026943df84685c38d91ef2.js","tinymce/langs/readme.md":"tinymce/langs/readme.md","tinymce/license.txt":"tinymce/license.txt","tinymce/plugins/advlist/plugin.js":"tinymce/plugins/advlist/plugin-9d5f181c8b89a6d3fd79e5773920a8702a818e3503f2d2225538b1024e22c881.js","tinymce/plugins/anchor/plugin.js":"tinymce/plugins/anchor/plugin-1101283820b4b9031320d224dd162327bb6ad406925efba1b0712b448ffae72c.js","tinymce/plugins/autolink/plugin.js":"tinymce/plugins/autolink/plugin-ea3267031e438e98832047c8265fbc070407a0ffbc93e8d2c3a48bd752b1e336.js","tinymce/plugins/autoresize/plugin.js":"tinymce/plugins/autoresize/plugin-debda956b34a60a1b4bc427cdfc19a87e2b41ff10438a945371c7f93d731ed77.js","tinymce/plugins/autosave/plugin.js":"tinymce/plugins/autosave/plugin-5d7b50830029e2fcbec55cca0328d8142fa0d8f46757c9019a4cb28be4e3fee5.js","tinymce/plugins/bbcode/plugin.js":"tinymce/plugins/bbcode/plugin-d4ea4957fd10a1e6e2956954d47b39e019705163bc4da5dfcaaac5fc7c3c763d.js","tinymce/plugins/charmap/plugin.js":"tinymce/plugins/charmap/plugin-3e427c5d66327507030644fed56edbce588cee62648ee8af86ac06e26873d758.js","tinymce/plugins/code/plugin.js":"tinymce/plugins/code/plugin-a1e4ee3ef429e49b5d6bf2505813b0ab804e6b72dd5ca733be0b661e4608e37a.js","tinymce/plugins/codesample/plugin.js":"tinymce/plugins/codesample/plugin-ec16e82f1cf7c8759aa18ad9677b1c828c7d779758d4f803c7b6a1374d79f5d0.js","tinymce/plugins/colorpicker/plugin.js":"tinymce/plugins/colorpicker/plugin-397300b6bbf064534c66e500cc76f04974a8b3148ff8527696952f6e66904ff4.js","tinymce/plugins/contextmenu/plugin.js":"tinymce/plugins/contextmenu/plugin-854c81b98b7c49b727ef2838a12496df12c17eb532e75c0b136587d5319dfeb4.js","tinymce/plugins/directionality/plugin.js":"tinymce/plugins/directionality/plugin-51daac61c7bb784b21fd9e7bb7ece6faec999a23cfc1235fd738e6b7b535d0c7.js","tinymce/plugins/emoticons/js/emojis.js":"tinymce/plugins/emoticons/js/emojis-a0736896b97ad33377407df852694702e5a4df5c9974373f8f8de3e147a9c57a.js","tinymce/plugins/emoticons/plugin.js":"tinymce/plugins/emoticons/plugin-0a616a34a40aaf42639751775cd0c8a7a07c253dc2d50d6fd259aff0494af6dc.js","tinymce/plugins/fullpage/plugin.js":"tinymce/plugins/fullpage/plugin-950be265f2e1f9463176d4d371603e745dafe60b20d085d3fdb7dfc731851abf.js","tinymce/plugins/fullscreen/plugin.js":"tinymce/plugins/fullscreen/plugin-2c24621819d483ae03f863ffac123332dacb13aaf4bc37462e076b3f1b416dd7.js","tinymce/plugins/help/plugin.js":"tinymce/plugins/help/plugin-256c84a454287673fa4c4a88785948aff7d88baa7087ec78323989144bc8009a.js","tinymce/plugins/hr/plugin.js":"tinymce/plugins/hr/plugin-98aae8ceed7e478997882f091ff4ab9b7c6361ebf4a4c1a5d42e5066510dad36.js","tinymce/plugins/image/plugin.js":"tinymce/plugins/image/plugin-bedbb33580f5c7191faeca7f057f6f86737a62b661706c09bd910259eac36724.js","tinymce/plugins/imagetools/plugin.js":"tinymce/plugins/imagetools/plugin-2c6afa5dc81bff9d4aed443e0d8c14d2a73d5bd2528943289223bf843b3caac4.js","tinymce/plugins/importcss/plugin.js":"tinymce/plugins/importcss/plugin-f4e599c94612b273a8dacf94ad1622adcff633a5fd4387ae5121f7d5722247ff.js","tinymce/plugins/insertdatetime/plugin.js":"tinymce/plugins/insertdatetime/plugin-3f37e3a0ba1506ff8ad6dd835cde7ed3d2db3e9ece51733ea2950f666cec11c2.js","tinymce/plugins/legacyoutput/plugin.js":"tinymce/plugins/legacyoutput/plugin-9cbb8dd8733fc043c2825f7f62590d5e8fd3ee73badfbbec677c04a0e21c3ec3.js","tinymce/plugins/link/plugin.js":"tinymce/plugins/link/plugin-178cc5b94ecc34fe0658a51b3dca57fcc70b554a959dcadd6c4031ca854b337a.js","tinymce/plugins/lists/plugin.js":"tinymce/plugins/lists/plugin-48983439cc63cb4a8fea18c9bfe9879f14f8ae6a73c9c66f35432fbc09c514ea.js","tinymce/plugins/media/plugin.js":"tinymce/plugins/media/plugin-14c054e4fcb51f19c4d4485a42ba6cc0c8455e8162bdbdd5ea97b09368afcc9e.js","tinymce/plugins/nonbreaking/plugin.js":"tinymce/plugins/nonbreaking/plugin-85b41dad44751eb9c762fc9873ab21e3d7fe279c0ec4ff7447e82fd51b7d37a4.js","tinymce/plugins/noneditable/plugin.js":"tinymce/plugins/noneditable/plugin-a27d05cbf2a672f92224d78d1ad31c6e4662a5aae17fb661ccbcacd51e943fd7.js","tinymce/plugins/pagebreak/plugin.js":"tinymce/plugins/pagebreak/plugin-749e5872ed39a1f09961b49bb255fac0f6360f01c7f0b4ec1b5f38f5e2ef3d01.js","tinymce/plugins/paste/plugin.js":"tinymce/plugins/paste/plugin-0b77edd91b1c76af73aacd79e6dad100aa11ef7c5c03f0333d26df1750dd45e7.js","tinymce/plugins/preview/plugin.js":"tinymce/plugins/preview/plugin-f03537c1c398cca4e649bdeeb6ea907e006158a53cfe04ba36cd72c3e6a62180.js","tinymce/plugins/print/plugin.js":"tinymce/plugins/print/plugin-138e832a86ceeb9d70d7b2a0e4441ef63f6c67543c2e80768f30ca21644f3ece.js","tinymce/plugins/quickbars/plugin.js":"tinymce/plugins/quickbars/plugin-c22bae775a23ec4f8d5c1ccd0c22a4879431dcfc3cfc4a9beda56643e63c3847.js","tinymce/plugins/save/plugin.js":"tinymce/plugins/save/plugin-69fa49b662035a24756176359a3fa2c75a81bdb72c7273b02adf3f049522f759.js","tinymce/plugins/searchreplace/plugin.js":"tinymce/plugins/searchreplace/plugin-dcc69f2da3c72a7333e92f3388d6b95586d8654fe7806cfcabf37ea72658dd28.js","tinymce/plugins/spellchecker/plugin.js":"tinymce/plugins/spellchecker/plugin-ce68d7606345e0306c571efe4943281c791210c94150762cda68995dbddf4ffe.js","tinymce/plugins/tabfocus/plugin.js":"tinymce/plugins/tabfocus/plugin-e9208621ad5eac8e846dc63b1147e34d5bc88e58071ebcff8507ac0584fa49e1.js","tinymce/plugins/table/plugin.js":"tinymce/plugins/table/plugin-6f3d2766a8dba93298aeec2fbef24b09f9f06276201d9bff3b6398f8b88ef2e0.js","tinymce/plugins/template/plugin.js":"tinymce/plugins/template/plugin-b83aef186cd1fee1c5db5c21c929528cef7d1a33485d58a444f99b70b2f63b01.js","tinymce/plugins/textcolor/plugin.js":"tinymce/plugins/textcolor/plugin-28ab395ea6dfbe3ca00cc85474556006e3d299c82f20ac9e83f67a6db6a15242.js","tinymce/plugins/textpattern/plugin.js":"tinymce/plugins/textpattern/plugin-e08737496fb339132b7e08dd96bce0887392031353e206aecfecdd80665a0403.js","tinymce/plugins/toc/plugin.js":"tinymce/plugins/toc/plugin-4d1c388ae94827bd4daa04db25c7fc86abef34ee4ae3b3f7c23c5895bc6a078f.js","tinymce/plugins/visualblocks/plugin.js":"tinymce/plugins/visualblocks/plugin-6a108188d2b0f1fb88f097e369d9cb67cc213944d7b11f16501a51b825ea62da.js","tinymce/plugins/visualchars/plugin.js":"tinymce/plugins/visualchars/plugin-38fdc7742fa0f36b65af47d47d91f74a0f0c976c18d6b029b70f4e54c58c34a5.js","tinymce/plugins/wordcount/plugin.js":"tinymce/plugins/wordcount/plugin-7b30653d1524deab208a452ce81b800a4de426cc91fceae4eca5c686b060ba78.js","tinymce/skins/content/dark/content.css":"tinymce/skins/content/dark/content-6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af.css","tinymce/skins/content/dark/content.min.css":"tinymce/skins/content/dark/content.min-6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af.css","tinymce/skins/content/default/content.css":"tinymce/skins/content/default/content-6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528.css","tinymce/skins/content/default/content.min.css":"tinymce/skins/content/default/content.min-6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528.css","tinymce/skins/content/document/content.css":"tinymce/skins/content/document/content-cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f.css","tinymce/skins/content/document/content.min.css":"tinymce/skins/content/document/content.min-cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f.css","tinymce/skins/content/writer/content.css":"tinymce/skins/content/writer/content-eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622.css","tinymce/skins/content/writer/content.min.css":"tinymce/skins/content/writer/content.min-eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622.css","tinymce/skins/ui/oxide-dark/content.css":"tinymce/skins/ui/oxide-dark/content-81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef.css","tinymce/skins/ui/oxide-dark/content.inline.css":"tinymce/skins/ui/oxide-dark/content.inline-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css","tinymce/skins/ui/oxide-dark/content.inline.min.css":"tinymce/skins/ui/oxide-dark/content.inline.min-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css","tinymce/skins/ui/oxide-dark/content.min.css":"tinymce/skins/ui/oxide-dark/content.min-81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef.css","tinymce/skins/ui/oxide-dark/content.mobile.css":"tinymce/skins/ui/oxide-dark/content.mobile-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css","tinymce/skins/ui/oxide-dark/content.mobile.min.css":"tinymce/skins/ui/oxide-dark/content.mobile.min-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css","tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff":"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff","tinymce/skins/ui/oxide-dark/skin.css":"tinymce/skins/ui/oxide-dark/skin-8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11.css","tinymce/skins/ui/oxide-dark/skin.min.css":"tinymce/skins/ui/oxide-dark/skin.min-8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11.css","tinymce/skins/ui/oxide-dark/skin.mobile.css":"tinymce/skins/ui/oxide-dark/skin.mobile-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css","tinymce/skins/ui/oxide-dark/skin.mobile.min.css":"tinymce/skins/ui/oxide-dark/skin.mobile.min-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css","tinymce/skins/ui/oxide/content.css":"tinymce/skins/ui/oxide/content-38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd.css","tinymce/skins/ui/oxide/content.inline.css":"tinymce/skins/ui/oxide/content.inline-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css","tinymce/skins/ui/oxide/content.inline.min.css":"tinymce/skins/ui/oxide/content.inline.min-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css","tinymce/skins/ui/oxide/content.min.css":"tinymce/skins/ui/oxide/content.min-38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd.css","tinymce/skins/ui/oxide/content.mobile.css":"tinymce/skins/ui/oxide/content.mobile-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css","tinymce/skins/ui/oxide/content.mobile.min.css":"tinymce/skins/ui/oxide/content.mobile.min-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css","tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff":"tinymce/skins/ui/oxide/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff","tinymce/skins/ui/oxide/skin.css":"tinymce/skins/ui/oxide/skin-c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc.css","tinymce/skins/ui/oxide/skin.min.css":"tinymce/skins/ui/oxide/skin.min-c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc.css","tinymce/skins/ui/oxide/skin.mobile.css":"tinymce/skins/ui/oxide/skin.mobile-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css","tinymce/skins/ui/oxide/skin.mobile.min.css":"tinymce/skins/ui/oxide/skin.mobile.min-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css","tinymce/themes/mobile/theme.js":"tinymce/themes/mobile/theme-3b6cfd8e85aa4cd48d541a0a41e6150e356ae1c0465fb62adafca1ce83629949.js","tinymce/themes/silver/theme.js":"tinymce/themes/silver/theme-74965ba198307e513a8b8ab9c75bf7afceab2aab3db185c520de06bae6e0bc24.js","tinymce/tinymce.js":"tinymce/tinymce-d8d7d4ca47f6ef4ce19ed7d5ded0ca20723a967cc368279a3f6417682a422371.js","tinymce-rails.manifest.js":"tinymce-rails.manifest-e761884522a9ca2dac475b68bac1946c990fb9af8b676d3b6b45692a920c8d04.js"}} \ No newline at end of file +{"files":{"active_admin-436f1e127c3c5bfcfd081ea8dc17dc0f907b763b9d8967182739d9b3257848e9.js":{"logical_path":"active_admin.js","mtime":"2020-01-16T20:20:11+01:00","size":961932,"digest":"436f1e127c3c5bfcfd081ea8dc17dc0f907b763b9d8967182739d9b3257848e9","integrity":"sha256-Q28eEnw8W/z9CB6o3BfcD5B7djudiWcYJznZsyV4SOk="},"tinymce-e887823f61aacbb4b0879737509c9fc001e27976aed4315081c6bdcfed3ea84f.js":{"logical_path":"tinymce.js","mtime":"2020-01-16T20:20:11+01:00","size":1071380,"digest":"e887823f61aacbb4b0879737509c9fc001e27976aed4315081c6bdcfed3ea84f","integrity":"sha256-6IeCP2Gqy7Swh5c3UJyfwAHieXau1DFQgca9z+0+qE8="},"modernizr-34f958b565f8b625d03a9216afe69e6819d4d0bb5eb423e48c532aab27d533b0.js":{"logical_path":"modernizr.js","mtime":"2020-01-16T20:20:11+01:00","size":51364,"digest":"34f958b565f8b625d03a9216afe69e6819d4d0bb5eb423e48c532aab27d533b0","integrity":"sha256-NPlYtWX4tiXQOpIWr+aeaBnU0LtetCPkjFMqqyfVM7A="},"font-awesome/fa-brands-400-e9fdf947c39f06f1b5e63c58eea2f2f74850421b4e32047dacb9c7b75dd42a16.eot":{"logical_path":"font-awesome/fa-brands-400.eot","mtime":"2020-01-16T20:20:11+01:00","size":131930,"digest":"e9fdf947c39f06f1b5e63c58eea2f2f74850421b4e32047dacb9c7b75dd42a16","integrity":"sha256-6f35R8OfBvG15jxY7qLy90hQQhtOMgR9rLnHt13UKhY="},"font-awesome/fa-regular-400-c1465a6b8743622f759b08a6d5336e57eb6eabdba1b6393fba6d30d45382f3d2.eot":{"logical_path":"font-awesome/fa-regular-400.eot","mtime":"2020-01-16T20:20:11+01:00","size":34390,"digest":"c1465a6b8743622f759b08a6d5336e57eb6eabdba1b6393fba6d30d45382f3d2","integrity":"sha256-wUZaa4dDYi91mwim1TNuV+tuq9uhtjk/um0w1FOC89I="},"font-awesome/fa-solid-900-f29eef66eb3ad0e3574d8edb4b9e72a04692a0b2b92d99eb7c4b977611ddd4fe.eot":{"logical_path":"font-awesome/fa-solid-900.eot","mtime":"2020-01-16T20:20:11+01:00","size":194066,"digest":"f29eef66eb3ad0e3574d8edb4b9e72a04692a0b2b92d99eb7c4b977611ddd4fe","integrity":"sha256-8p7vZus60ONXTY7bS55yoEaSoLK5LZnrfEuXdhHd1P4="},"font-awesome/fa-brands-400-36b51fbe6b87587541b9173cd79c16c6b359ad22a172b922204f9aa87411acd9.svg":{"logical_path":"font-awesome/fa-brands-400.svg","mtime":"2020-01-16T20:20:11+01:00","size":708706,"digest":"36b51fbe6b87587541b9173cd79c16c6b359ad22a172b922204f9aa87411acd9","integrity":"sha256-NrUfvmuHWHVBuRc815wWxrNZrSKhcrkiIE+aqHQRrNk="},"font-awesome/fa-regular-400-7ab8a39f4c48b743bd6acbbf5ea4c7547efcb62ad966e9bef3e41996afc44fd4.svg":{"logical_path":"font-awesome/fa-regular-400.svg","mtime":"2020-01-16T20:20:11+01:00","size":144322,"digest":"7ab8a39f4c48b743bd6acbbf5ea4c7547efcb62ad966e9bef3e41996afc44fd4","integrity":"sha256-erijn0xIt0O9asu/XqTHVH78tirZZum+8+QZlq/ET9Q="},"font-awesome/fa-solid-900-eaf0f3d0cadad17eed1045cf68c30db7abffb4c8ef4ee9cb5f4026fdefc99a59.svg":{"logical_path":"font-awesome/fa-solid-900.svg","mtime":"2020-01-16T20:20:11+01:00","size":849145,"digest":"eaf0f3d0cadad17eed1045cf68c30db7abffb4c8ef4ee9cb5f4026fdefc99a59","integrity":"sha256-6vDz0Mra0X7tEEXPaMMNt6v/tMjvTunLX0Am/e/Jmlk="},"font-awesome/fa-brands-400-6b347ff01e588a2a6909ccd7f7f5866b27484391547e9df451ab9b4c27920c71.ttf":{"logical_path":"font-awesome/fa-brands-400.ttf","mtime":"2020-01-16T20:20:11+01:00","size":131624,"digest":"6b347ff01e588a2a6909ccd7f7f5866b27484391547e9df451ab9b4c27920c71","integrity":"sha256-azR/8B5YiippCczX9/WGaydIQ5FUfp30UaubTCeSDHE="},"font-awesome/fa-regular-400-6a335d1ce152f2b5b02bf82cc445b02d1abccd7f408a87113424b5f8fcbbfade.ttf":{"logical_path":"font-awesome/fa-regular-400.ttf","mtime":"2020-01-16T20:20:11+01:00","size":34092,"digest":"6a335d1ce152f2b5b02bf82cc445b02d1abccd7f408a87113424b5f8fcbbfade","integrity":"sha256-ajNdHOFS8rWwK/gsxEWwLRq8zX9AiocRNCS1+Py7+t4="},"font-awesome/fa-solid-900-0389b061db08d406704c9bb8819e09c3558ac956287b3e9da8e6645a79d528ea.ttf":{"logical_path":"font-awesome/fa-solid-900.ttf","mtime":"2020-01-16T20:20:11+01:00","size":193780,"digest":"0389b061db08d406704c9bb8819e09c3558ac956287b3e9da8e6645a79d528ea","integrity":"sha256-A4mwYdsI1AZwTJu4gZ4Jw1WKyVYoez6dqOZkWnnVKOo="},"font-awesome/fa-brands-400-1af816db9a686faa76bfbda779df959e6213de714a94b87aa7374a151f6f4900.woff":{"logical_path":"font-awesome/fa-brands-400.woff","mtime":"2020-01-16T20:20:11+01:00","size":89100,"digest":"1af816db9a686faa76bfbda779df959e6213de714a94b87aa7374a151f6f4900","integrity":"sha256-GvgW25pob6p2v72ned+VnmIT3nFKlLh6pzdKFR9vSQA="},"font-awesome/fa-regular-400-864c8f702a5e63198bb76ef0240b599cc065d4904c2afc5da6c8a29bbf0d6c64.woff":{"logical_path":"font-awesome/fa-regular-400.woff","mtime":"2020-01-16T20:20:11+01:00","size":16800,"digest":"864c8f702a5e63198bb76ef0240b599cc065d4904c2afc5da6c8a29bbf0d6c64","integrity":"sha256-hkyPcCpeYxmLt27wJAtZnMBl1JBMKvxdpsiim78NbGQ="},"font-awesome/fa-solid-900-3b60c77e0c81c1c9cdc9adb96ade6dbac7ef2b9402a316185855de7122e517db.woff":{"logical_path":"font-awesome/fa-solid-900.woff","mtime":"2020-01-16T20:20:11+01:00","size":98996,"digest":"3b60c77e0c81c1c9cdc9adb96ade6dbac7ef2b9402a316185855de7122e517db","integrity":"sha256-O2DHfgyBwcnNya25at5tusfvK5QCoxYYWFXecSLlF9s="},"font-awesome/fa-brands-400-8e4560c16c7970efa47680450b2cf239d4a482c056d308acea12bb9022906c8b.woff2":{"logical_path":"font-awesome/fa-brands-400.woff2","mtime":"2020-01-16T20:20:11+01:00","size":75936,"digest":"8e4560c16c7970efa47680450b2cf239d4a482c056d308acea12bb9022906c8b","integrity":"sha256-jkVgwWx5cO+kdoBFCyzyOdSkgsBW0wis6hK7kCKQbIs="},"font-awesome/fa-regular-400-86e496b536b26ba60cdb68df9dd9143b19a63b65e30e373b0321833aab1295d6.woff2":{"logical_path":"font-awesome/fa-regular-400.woff2","mtime":"2020-01-16T20:20:11+01:00","size":13576,"digest":"86e496b536b26ba60cdb68df9dd9143b19a63b65e30e373b0321833aab1295d6","integrity":"sha256-huSWtTaya6YM22jfndkUOxmmO2XjDjc7AyGDOqsSldY="},"font-awesome/fa-solid-900-787d76ad6deab67ccf8bac1b584260205e114f508fc5542b612e3f75d49a34e4.woff2":{"logical_path":"font-awesome/fa-solid-900.woff2","mtime":"2020-01-16T20:20:11+01:00","size":76084,"digest":"787d76ad6deab67ccf8bac1b584260205e114f508fc5542b612e3f75d49a34e4","integrity":"sha256-eH12rW3qtnzPi6wbWEJgIF4RT1CPxVQrYS4/ddSaNOQ="},"active_admin/print-9ca4108e628bcfc6e44c479857ca1db74875fcc9c7966d070fe80be7bb50c98b.css":{"logical_path":"active_admin/print.css","mtime":"2020-01-16T20:20:11+01:00","size":7086,"digest":"9ca4108e628bcfc6e44c479857ca1db74875fcc9c7966d070fe80be7bb50c98b","integrity":"sha256-nKQQjmKLz8bkTEeYV8odt0h1/MnHlm0HD+gL57tQyYs="},"active_admin-a66a98d30794a1e442949420b34b0ad3e6806a3a365d75e5c729b21980a37fb7.css":{"logical_path":"active_admin.css","mtime":"2019-12-25T17:18:50+01:00","size":107541,"digest":"a66a98d30794a1e442949420b34b0ad3e6806a3a365d75e5c729b21980a37fb7","integrity":"sha256-pmqY0weUoeRClJQgs0sK0+aAajo2XXXlxymyGYCjf7c="},"manifest-39627dc52fb1b4829654c355d77d306701477a489888ca0be3235350102e858f.js":{"logical_path":"manifest.js","mtime":"2020-01-16T20:20:11+01:00","size":6,"digest":"39627dc52fb1b4829654c355d77d306701477a489888ca0be3235350102e858f","integrity":"sha256-OWJ9xS+xtIKWVMNV130wZwFHekiYiMoL4yNTUBAuhY8="},"agendadescommuns-0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33.png":{"logical_path":"agendadescommuns.png","mtime":"2020-01-16T20:20:11+01:00","size":2760,"digest":"0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33","integrity":"sha256-ABe+9T9iYcs7+VLUt4DGQwc2lxSy4eLU659p39mGqzM="},"alert-762ace9479328243a44061346b64c4d6b997e963c68dfc6bddd9e4d241192906.png":{"logical_path":"alert.png","mtime":"2020-01-16T20:20:11+01:00","size":47876,"digest":"762ace9479328243a44061346b64c4d6b997e963c68dfc6bddd9e4d241192906","integrity":"sha256-dirOlHkygkOkQGE0a2TE1rmX6WPGjfxr3dnk0kEZKQY="},"baby_gnu_adl-463a81820aa2d4ffd8e7210dbce1a19ffcac67ef362aa7b092280c6f95c903fc.png":{"logical_path":"baby_gnu_adl.png","mtime":"2020-01-16T20:20:11+01:00","size":7411,"digest":"463a81820aa2d4ffd8e7210dbce1a19ffcac67ef362aa7b092280c6f95c903fc","integrity":"sha256-RjqBggqi1P/Y5yENvOGhn/ysZ+82KqewkigMb5XJA/w="},"baby_gnu_adl-97251005d3225cf1d58b8c497d6b7905dbc9560cc8acd50118fcce60d0a2679e.svg":{"logical_path":"baby_gnu_adl.svg","mtime":"2020-01-16T20:20:11+01:00","size":109635,"digest":"97251005d3225cf1d58b8c497d6b7905dbc9560cc8acd50118fcce60d0a2679e","integrity":"sha256-lyUQBdMiXPHVi4xJfWt5BdvJVgzIrNUBGPzOYNCiZ54="},"communs-0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33.png":{"logical_path":"communs.png","mtime":"2020-01-16T20:20:11+01:00","size":2760,"digest":"0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33","integrity":"sha256-ABe+9T9iYcs7+VLUt4DGQwc2lxSy4eLU659p39mGqzM="},"lef-small-93285d531af463f877951d63fe844a6e9600b782c2c81f78723b730072fa942e.png":{"logical_path":"lef-small.png","mtime":"2020-01-16T20:20:11+01:00","size":1059,"digest":"93285d531af463f877951d63fe844a6e9600b782c2c81f78723b730072fa942e","integrity":"sha256-kyhdUxr0Y/h3lR1j/oRKbpYAt4LCyB94cjtzAHL6lC4="},"lef-7e9152b909c78144ff44ca2254c06709333bef0b8d4985deb1361aba5c63c86d.png":{"logical_path":"lef.png","mtime":"2020-01-16T20:20:11+01:00","size":15783,"digest":"7e9152b909c78144ff44ca2254c06709333bef0b8d4985deb1361aba5c63c86d","integrity":"sha256-fpFSuQnHgUT/RMoiVMBnCTM77wuNSYXesTYaulxjyG0="},"linux-presentation-day-863b30562924505dd21841220861f83643d310e0b943a0e6a905462ddfac86f1.png":{"logical_path":"linux-presentation-day.png","mtime":"2020-01-16T20:20:11+01:00","size":9358,"digest":"863b30562924505dd21841220861f83643d310e0b943a0e6a905462ddfac86f1","integrity":"sha256-hjswVikkUF3SGEEiCGH4NkPTEOC5Q6DmqQVGLd+shvE="},"osm_logo-0e91a8acd0a92c1bf14204322322e57c65c2a7e318fec6907252fed929b7d6d3.svg":{"logical_path":"osm_logo.svg","mtime":"2020-01-16T20:20:11+01:00","size":89730,"digest":"0e91a8acd0a92c1bf14204322322e57c65c2a7e318fec6907252fed929b7d6d3","integrity":"sha256-DpGorNCpLBvxQgQyIyLlfGXCp+MY/saQclL+2Sm31tM="},"priorite-logiciel-libre-je-soutiens-april_2_m-6442e454e96ed45cc1ebc40673a6c50bd286b9c28ea6a8b58572e94f7d6459fc.png":{"logical_path":"priorite-logiciel-libre-je-soutiens-april_2_m.png","mtime":"2020-01-16T20:20:11+01:00","size":16952,"digest":"6442e454e96ed45cc1ebc40673a6c50bd286b9c28ea6a8b58572e94f7d6459fc","integrity":"sha256-ZELkVOlu1FzB68QGc6bFC9KGucKOpqi1hXLpT31kWfw="},"regions/CA-QC-70699e6a6e25c69040a3f1548b0afd829c4903ccca2760b6c10f49cc87d5d174.png":{"logical_path":"regions/CA-QC.png","mtime":"2020-01-16T20:20:11+01:00","size":469,"digest":"70699e6a6e25c69040a3f1548b0afd829c4903ccca2760b6c10f49cc87d5d174","integrity":"sha256-cGmeam4lxpBAo/FUiwr9gpxJA8zKJ2C2wQ9JzIfV0XQ="},"team-65c86021cf8a1154493664094aeafcbe3e5aa13dc675bb8ef34b220481db98fa.png":{"logical_path":"team.png","mtime":"2020-01-16T20:20:11+01:00","size":3586,"digest":"65c86021cf8a1154493664094aeafcbe3e5aa13dc675bb8ef34b220481db98fa","integrity":"sha256-ZchgIc+KEVRJNmQJSur8vj5aoT3GdbuO80siBIHbmPo="},"application-6b11136e0676d3ceeafb180819ad6aa9b3241e58a605d1d1d76883366d7c2111.js":{"logical_path":"application.js","mtime":"2019-12-22T12:30:30+01:00","size":2001537,"digest":"6b11136e0676d3ceeafb180819ad6aa9b3241e58a605d1d1d76883366d7c2111","integrity":"sha256-axETbgZ2087q+xgIGa1qqbMkHlimBdHR12iDNm18IRE="},"application-2787d6ed87f3f83fc6325ce89dc84f7e80e3148c1224e41f9cc9e51509747d00.css":{"logical_path":"application.css","mtime":"2019-12-22T12:30:30+01:00","size":232252,"digest":"2787d6ed87f3f83fc6325ce89dc84f7e80e3148c1224e41f9cc9e51509747d00","integrity":"sha256-J4fW7Yfz+D/GMlzonchPfoDjFIwSJOQfnMnlFQl0fQA="},"flags/4x3/ad-f67c4e5a3f709ead53c04d9ff35614e6c67517c3d3289170f7a317390f661497.svg":{"logical_path":"flags/4x3/ad.svg","mtime":"2020-01-16T20:20:11+01:00","size":33972,"digest":"f67c4e5a3f709ead53c04d9ff35614e6c67517c3d3289170f7a317390f661497","integrity":"sha256-9nxOWj9wnq1TwE2f81YU5sZ1F8PTKJFw96MXOQ9mFJc="},"flags/1x1/ad-a315836ec2c9dcc11ef9bfd8b18aa7ccfc2d31435cbf46a2c31930836076e09c.svg":{"logical_path":"flags/1x1/ad.svg","mtime":"2020-01-16T20:20:11+01:00","size":32745,"digest":"a315836ec2c9dcc11ef9bfd8b18aa7ccfc2d31435cbf46a2c31930836076e09c","integrity":"sha256-oxWDbsLJ3MEe+b/YsYqnzPwtMUNcv0aiwxkwg2B24Jw="},"flags/4x3/ae-7a3b3dc0f50b5310014cfbcc8200a5f1ce568127bf43452e40e8158e0cff2d2e.svg":{"logical_path":"flags/4x3/ae.svg","mtime":"2020-01-16T20:20:11+01:00","size":257,"digest":"7a3b3dc0f50b5310014cfbcc8200a5f1ce568127bf43452e40e8158e0cff2d2e","integrity":"sha256-ejs9wPULUxABTPvMggCl8c5WgSe/Q0UuQOgVjgz/LS4="},"flags/1x1/ae-bcdd9a4da09598785f3e31db4ff431e22687b2ead18209a3e615600655068cd5.svg":{"logical_path":"flags/1x1/ae.svg","mtime":"2020-01-16T20:20:11+01:00","size":265,"digest":"bcdd9a4da09598785f3e31db4ff431e22687b2ead18209a3e615600655068cd5","integrity":"sha256-vN2aTaCVmHhfPjHbT/Qx4iaHsurRggmj5hVgBlUGjNU="},"flags/4x3/af-01601b521fa86582e32c39eed8c88480afec1f801b6de929b52ed7e49da47260.svg":{"logical_path":"flags/4x3/af.svg","mtime":"2020-01-16T20:20:11+01:00","size":21279,"digest":"01601b521fa86582e32c39eed8c88480afec1f801b6de929b52ed7e49da47260","integrity":"sha256-AWAbUh+oZYLjLDnu2MiEgK/sH4AbbekptS7X5J2kcmA="},"flags/1x1/af-6332cf754a5e2866db631923e1f7cfc52a0a554d32b97bcf19f8263819e4ca7d.svg":{"logical_path":"flags/1x1/af.svg","mtime":"2020-01-16T20:20:11+01:00","size":21145,"digest":"6332cf754a5e2866db631923e1f7cfc52a0a554d32b97bcf19f8263819e4ca7d","integrity":"sha256-YzLPdUpeKGbbYxkj4ffPxSoKVU0yuXvPGfgmOBnkyn0="},"flags/4x3/ag-cb6952d821bac7855231c2cb4d1c44f7c730f6b3621518ab20f30d2b9afe604b.svg":{"logical_path":"flags/4x3/ag.svg","mtime":"2020-01-16T20:20:11+01:00","size":748,"digest":"cb6952d821bac7855231c2cb4d1c44f7c730f6b3621518ab20f30d2b9afe604b","integrity":"sha256-y2lS2CG6x4VSMcLLTRxE98cw9rNiFRirIPMNK5r+YEs="},"flags/1x1/ag-14f7d9978487aaf4446b55167e85a711c48a13ff07edac175c172969a38650c4.svg":{"logical_path":"flags/1x1/ag.svg","mtime":"2020-01-16T20:20:11+01:00","size":764,"digest":"14f7d9978487aaf4446b55167e85a711c48a13ff07edac175c172969a38650c4","integrity":"sha256-FPfZl4SHqvREa1UWfoWnEcSKE/8H7awXXBcpaaOGUMQ="},"flags/4x3/ai-f07c6cc0646fdfa441b9a506e1d46e8dce0d97b37222292e9c6733c995dc89bc.svg":{"logical_path":"flags/4x3/ai.svg","mtime":"2020-01-16T20:20:11+01:00","size":42208,"digest":"f07c6cc0646fdfa441b9a506e1d46e8dce0d97b37222292e9c6733c995dc89bc","integrity":"sha256-8HxswGRv36RBuaUG4dRujc4Nl7NyIikunGczyZXcibw="},"flags/1x1/ai-95099e544de29bcea3ba735de535823f2e19aeb4043e82dbc1d9862f9262b810.svg":{"logical_path":"flags/1x1/ai.svg","mtime":"2020-01-16T20:20:11+01:00","size":47975,"digest":"95099e544de29bcea3ba735de535823f2e19aeb4043e82dbc1d9862f9262b810","integrity":"sha256-lQmeVE3im86junNd5TWCPy4ZrrQEPoLbwdmGL5JiuBA="},"flags/4x3/al-9b997f2720de861e1b0ccec8ddf42a2890795ebf50817f9223e1ceba712c9b03.svg":{"logical_path":"flags/4x3/al.svg","mtime":"2020-01-16T20:20:11+01:00","size":3221,"digest":"9b997f2720de861e1b0ccec8ddf42a2890795ebf50817f9223e1ceba712c9b03","integrity":"sha256-m5l/JyDehh4bDM7I3fQqKJB5Xr9QgX+SI+HOunEsmwM="},"flags/1x1/al-94852d2711fc23abf3423534b9edb950a0c6aabf1d2d98bf2643f3c7dadfac09.svg":{"logical_path":"flags/1x1/al.svg","mtime":"2020-01-16T20:20:11+01:00","size":3228,"digest":"94852d2711fc23abf3423534b9edb950a0c6aabf1d2d98bf2643f3c7dadfac09","integrity":"sha256-lIUtJxH8I6vzQjU0ue25UKDGqr8dLZi/JkPzx9rfrAk="},"flags/4x3/am-85a199ec21d1af74a256335ead0c1e38592bb603d8da81feda4678945e9e00e6.svg":{"logical_path":"flags/4x3/am.svg","mtime":"2020-01-16T20:20:11+01:00","size":226,"digest":"85a199ec21d1af74a256335ead0c1e38592bb603d8da81feda4678945e9e00e6","integrity":"sha256-haGZ7CHRr3SiVjNerQweOFkrtgPY2oH+2kZ4lF6eAOY="},"flags/1x1/am-869391b014ac299924d30777d72a4aba430752177290a90a1fc3255a7ad79ee7.svg":{"logical_path":"flags/1x1/am.svg","mtime":"2020-01-16T20:20:11+01:00","size":234,"digest":"869391b014ac299924d30777d72a4aba430752177290a90a1fc3255a7ad79ee7","integrity":"sha256-hpORsBSsKZkk0wd31ypKukMHUhdykKkKH8MlWnrXnuc="},"flags/4x3/ao-29224a61bf632826d530cda55d87c2615884bd2c2c3a322036ed468e34d85c75.svg":{"logical_path":"flags/4x3/ao.svg","mtime":"2020-01-16T20:20:11+01:00","size":1608,"digest":"29224a61bf632826d530cda55d87c2615884bd2c2c3a322036ed468e34d85c75","integrity":"sha256-KSJKYb9jKCbVMM2lXYfCYViEvSwsOjIgNu1GjjTYXHU="},"flags/1x1/ao-048eacbc862fe1868cf0ec73457b70a8b49a598c80dea049856f0e1fd6fec83e.svg":{"logical_path":"flags/1x1/ao.svg","mtime":"2020-01-16T20:20:11+01:00","size":1608,"digest":"048eacbc862fe1868cf0ec73457b70a8b49a598c80dea049856f0e1fd6fec83e","integrity":"sha256-BI6svIYv4YaM8OxzRXtwqLSaWYyA3qBJhW8OH9b+yD4="},"flags/4x3/aq-b401a776d2f1a7944170114f0aeeceab5e1d962df3de7ed1eff47d96824b73fd.svg":{"logical_path":"flags/4x3/aq.svg","mtime":"2020-01-16T20:20:11+01:00","size":2974,"digest":"b401a776d2f1a7944170114f0aeeceab5e1d962df3de7ed1eff47d96824b73fd","integrity":"sha256-tAGndtLxp5RBcBFPCu7Oq14dli3z3n7R7/R9loJLc/0="},"flags/1x1/aq-a8d7ce9bfb860b6e2b58608b50bf2cafc5220c77f6d049ab7770891f64334531.svg":{"logical_path":"flags/1x1/aq.svg","mtime":"2020-01-16T20:20:11+01:00","size":3183,"digest":"a8d7ce9bfb860b6e2b58608b50bf2cafc5220c77f6d049ab7770891f64334531","integrity":"sha256-qNfOm/uGC24rWGCLUL8sr8UiDHf20Emrd3CJH2QzRTE="},"flags/4x3/ar-bf73475bb707100874dec538ce4b7e1b5afc4ed67dc50a8a800ee519e51cc826.svg":{"logical_path":"flags/4x3/ar.svg","mtime":"2020-01-16T20:20:11+01:00","size":3430,"digest":"bf73475bb707100874dec538ce4b7e1b5afc4ed67dc50a8a800ee519e51cc826","integrity":"sha256-v3NHW7cHEAh03sU4zkt+G1r8TtZ9xQqKgA7lGeUcyCY="},"flags/1x1/ar-fc6582cc6d3ef0782805d8497ee77ab2d836c53422e91007e48f81a4a9fa2e60.svg":{"logical_path":"flags/1x1/ar.svg","mtime":"2020-01-16T20:20:11+01:00","size":3503,"digest":"fc6582cc6d3ef0782805d8497ee77ab2d836c53422e91007e48f81a4a9fa2e60","integrity":"sha256-/GWCzG0+8HgoBdhJfud6stg2xTQi6RAH5I+BpKn6LmA="},"flags/4x3/as-79d395190345206ea03475b67b44638e1111562411504b60646483c9c0b0f7d1.svg":{"logical_path":"flags/4x3/as.svg","mtime":"2020-01-16T20:20:11+01:00","size":8098,"digest":"79d395190345206ea03475b67b44638e1111562411504b60646483c9c0b0f7d1","integrity":"sha256-edOVGQNFIG6gNHW2e0RjjhERViQRUEtgZGSDycCw99E="},"flags/1x1/as-04f0db77c5d8610a55c69508b226a7c338924f8cf7d6577d5d6590e85ee57183.svg":{"logical_path":"flags/1x1/as.svg","mtime":"2020-01-16T20:20:11+01:00","size":7845,"digest":"04f0db77c5d8610a55c69508b226a7c338924f8cf7d6577d5d6590e85ee57183","integrity":"sha256-BPDbd8XYYQpVxpUIsianwziST4z31ld9XWWQ6F7lcYM="},"flags/4x3/at-3d197de8f1f0096a2b0d440b6fc7d80821585a6637e646c05487a87718bf6b5f.svg":{"logical_path":"flags/4x3/at.svg","mtime":"2020-01-16T20:20:11+01:00","size":243,"digest":"3d197de8f1f0096a2b0d440b6fc7d80821585a6637e646c05487a87718bf6b5f","integrity":"sha256-PRl96PHwCWorDUQLb8fYCCFYWmY35kbAVIeodxi/a18="},"flags/1x1/at-ec4db9aeac793827ac7c8e40c072a76f7675010058cc8c8dfd3a86bb5acfa6b8.svg":{"logical_path":"flags/1x1/at.svg","mtime":"2020-01-16T20:20:11+01:00","size":245,"digest":"ec4db9aeac793827ac7c8e40c072a76f7675010058cc8c8dfd3a86bb5acfa6b8","integrity":"sha256-7E25rqx5OCesfI5AwHKnb3Z1AQBYzIyN/TqGu1rPprg="},"flags/4x3/au-126fa2500a315287a5f847f4d958bb929f11da9b39f35912cc440c0fcffb8b12.svg":{"logical_path":"flags/4x3/au.svg","mtime":"2020-01-16T20:20:11+01:00","size":1335,"digest":"126fa2500a315287a5f847f4d958bb929f11da9b39f35912cc440c0fcffb8b12","integrity":"sha256-Em+iUAoxUoel+Ef02Vi7kp8R2ps581kSzEQMD8/7ixI="},"flags/1x1/au-bf990dcc957c9f74eb908e8ffa733f1731277bf6ec8b7301a6ea1ed92b59cc4b.svg":{"logical_path":"flags/1x1/au.svg","mtime":"2020-01-16T20:20:11+01:00","size":1320,"digest":"bf990dcc957c9f74eb908e8ffa733f1731277bf6ec8b7301a6ea1ed92b59cc4b","integrity":"sha256-v5kNzJV8n3TrkI6P+nM/FzEne/bsi3MBpuoe2StZzEs="},"flags/4x3/aw-4524643452423e95f3b0dbe6216b059a9e52126b34c73ae4b3c17b682f893aa6.svg":{"logical_path":"flags/4x3/aw.svg","mtime":"2020-01-16T20:20:11+01:00","size":9948,"digest":"4524643452423e95f3b0dbe6216b059a9e52126b34c73ae4b3c17b682f893aa6","integrity":"sha256-RSRkNFJCPpXzsNvmIWsFmp5SEms0xzrks8F7aC+JOqY="},"flags/1x1/aw-f7002bceef55486a442bf6bf433be0c60d0b15b2aa548b81c524c67ccf0565a8.svg":{"logical_path":"flags/1x1/aw.svg","mtime":"2020-01-16T20:20:11+01:00","size":12088,"digest":"f7002bceef55486a442bf6bf433be0c60d0b15b2aa548b81c524c67ccf0565a8","integrity":"sha256-9wArzu9VSGpEK/a/Qzvgxg0LFbKqVIuBxSTGfM8FZag="},"flags/4x3/ax-c297e0eb654ca62e58f5eb3abb70df9f245e4919490f29bd0f1d49c4fe052d90.svg":{"logical_path":"flags/4x3/ax.svg","mtime":"2020-01-16T20:20:11+01:00","size":556,"digest":"c297e0eb654ca62e58f5eb3abb70df9f245e4919490f29bd0f1d49c4fe052d90","integrity":"sha256-wpfg62VMpi5Y9es6u3DfnyReSRlJDym9Dx1JxP4FLZA="},"flags/1x1/ax-a1245689ecbf321c0a9e556bba17f3c9f2aeb8b1f63d14fcb591d76a87f12880.svg":{"logical_path":"flags/1x1/ax.svg","mtime":"2020-01-16T20:20:11+01:00","size":544,"digest":"a1245689ecbf321c0a9e556bba17f3c9f2aeb8b1f63d14fcb591d76a87f12880","integrity":"sha256-oSRWiey/MhwKnlVruhfzyfKuuLH2PRT8tZHXaofxKIA="},"flags/4x3/az-132e68d5e0386d3b9fa05b4288a0fd66f1414e2bc7af6b9d437b6935a7dfa00c.svg":{"logical_path":"flags/4x3/az.svg","mtime":"2020-01-16T20:20:11+01:00","size":515,"digest":"132e68d5e0386d3b9fa05b4288a0fd66f1414e2bc7af6b9d437b6935a7dfa00c","integrity":"sha256-Ey5o1eA4bTufoFtCiKD9ZvFBTivHr2udQ3tpNaffoAw="},"flags/1x1/az-3990c0526b933bd650285d821f2b93e432a73ba709869549b8ef75b051d3bd2d.svg":{"logical_path":"flags/1x1/az.svg","mtime":"2020-01-16T20:20:11+01:00","size":501,"digest":"3990c0526b933bd650285d821f2b93e432a73ba709869549b8ef75b051d3bd2d","integrity":"sha256-OZDAUmuTO9ZQKF2CHyuT5DKnO6cJhpVJuO91sFHTvS0="},"flags/4x3/ba-89dd0c1600d94741de7d667a487310193a0c48c4cf1a5159c3bf9dd37d65d2b5.svg":{"logical_path":"flags/4x3/ba.svg","mtime":"2020-01-16T20:20:11+01:00","size":1306,"digest":"89dd0c1600d94741de7d667a487310193a0c48c4cf1a5159c3bf9dd37d65d2b5","integrity":"sha256-id0MFgDZR0HefWZ6SHMQGToMSMTPGlFZw7+d031l0rU="},"flags/1x1/ba-2dbe90eb12b937f4a9ae8db95760930a3e318f4ce5829ac05e292ead698bae5a.svg":{"logical_path":"flags/1x1/ba.svg","mtime":"2020-01-16T20:20:11+01:00","size":1247,"digest":"2dbe90eb12b937f4a9ae8db95760930a3e318f4ce5829ac05e292ead698bae5a","integrity":"sha256-Lb6Q6xK5N/Spro25V2CTCj4xj0zlgprAXikurWmLrlo="},"flags/4x3/bb-16f8249ff958bfbc18fb1f23a5282000347bffdb5769ac620966185b1dcb57f6.svg":{"logical_path":"flags/4x3/bb.svg","mtime":"2020-01-16T20:20:11+01:00","size":613,"digest":"16f8249ff958bfbc18fb1f23a5282000347bffdb5769ac620966185b1dcb57f6","integrity":"sha256-Fvgkn/lYv7wY+x8jpSggADR7/9tXaaxiCWYYWx3LV/Y="},"flags/1x1/bb-fae92d8426196ae24ffa561aca72613fae651a5e9c0bcda63ecc877add05b060.svg":{"logical_path":"flags/1x1/bb.svg","mtime":"2020-01-16T20:20:11+01:00","size":616,"digest":"fae92d8426196ae24ffa561aca72613fae651a5e9c0bcda63ecc877add05b060","integrity":"sha256-+ukthCYZauJP+lYaynJhP65lGl6cC82mPsyHet0FsGA="},"flags/4x3/bd-8dac0547e73ee25a04148a3f0fd026a90e56c23b7e92921565d4263050ba77a6.svg":{"logical_path":"flags/4x3/bd.svg","mtime":"2020-01-16T20:20:11+01:00","size":193,"digest":"8dac0547e73ee25a04148a3f0fd026a90e56c23b7e92921565d4263050ba77a6","integrity":"sha256-jawFR+c+4loEFIo/D9AmqQ5Wwjt+kpIVZdQmMFC6d6Y="},"flags/1x1/bd-ecc3c3e87d4cc59c8350f2b4d7dca8f5cf46bdb26319db0ee80b744482af50c1.svg":{"logical_path":"flags/1x1/bd.svg","mtime":"2020-01-16T20:20:11+01:00","size":195,"digest":"ecc3c3e87d4cc59c8350f2b4d7dca8f5cf46bdb26319db0ee80b744482af50c1","integrity":"sha256-7MPD6H1MxZyDUPK019yo9c9GvbJjGdsO6At0RIKvUME="},"flags/4x3/be-a180ca68521188017bb5367f19e503d9599d6cbecd61bf054e59a57f58e648ae.svg":{"logical_path":"flags/4x3/be.svg","mtime":"2020-01-16T20:20:11+01:00","size":293,"digest":"a180ca68521188017bb5367f19e503d9599d6cbecd61bf054e59a57f58e648ae","integrity":"sha256-oYDKaFIRiAF7tTZ/GeUD2VmdbL7NYb8FTlmlf1jmSK4="},"flags/1x1/be-c8d4194137bd01955285b329dfdf996490d16c3116a92ce2f322e354b6d7494e.svg":{"logical_path":"flags/1x1/be.svg","mtime":"2020-01-16T20:20:11+01:00","size":293,"digest":"c8d4194137bd01955285b329dfdf996490d16c3116a92ce2f322e354b6d7494e","integrity":"sha256-yNQZQTe9AZVShbMp39+ZZJDRbDEWqSzi8yLjVLbXSU4="},"flags/4x3/bf-6b214936ef89f19133d4a84e99cdf0cfdb99d6409f2f373f6d18694423013313.svg":{"logical_path":"flags/4x3/bf.svg","mtime":"2020-01-16T20:20:11+01:00","size":360,"digest":"6b214936ef89f19133d4a84e99cdf0cfdb99d6409f2f373f6d18694423013313","integrity":"sha256-ayFJNu+J8ZEz1KhOmc3wz9uZ1kCfLzc/bRhpRCMBMxM="},"flags/1x1/bf-04c7d61aa314adab5a41bd79d77aa780c10136bb6b8f4c62423e61e23e3851ee.svg":{"logical_path":"flags/1x1/bf.svg","mtime":"2020-01-16T20:20:11+01:00","size":386,"digest":"04c7d61aa314adab5a41bd79d77aa780c10136bb6b8f4c62423e61e23e3851ee","integrity":"sha256-BMfWGqMUrataQb1513qngMEBNrtrj0xiQj5h4j44Ue4="},"flags/4x3/bg-dd3985ba746942b0e65bc52a280cc4d28fb24fd2c7d9e22ac9afd2d75ee7bfc4.svg":{"logical_path":"flags/4x3/bg.svg","mtime":"2020-01-16T20:20:11+01:00","size":289,"digest":"dd3985ba746942b0e65bc52a280cc4d28fb24fd2c7d9e22ac9afd2d75ee7bfc4","integrity":"sha256-3TmFunRpQrDmW8UqKAzE0o+yT9LH2eIqya/S117nv8Q="},"flags/1x1/bg-f59294a736d5bdc0f102b58d70dbe45d02bd92df822820bf95336840f75a0746.svg":{"logical_path":"flags/1x1/bg.svg","mtime":"2020-01-16T20:20:11+01:00","size":297,"digest":"f59294a736d5bdc0f102b58d70dbe45d02bd92df822820bf95336840f75a0746","integrity":"sha256-9ZKUpzbVvcDxArWNcNvkXQK9kt+CKCC/lTNoQPdaB0Y="},"flags/4x3/bh-7c82c4a6ba963172c6c1b4423f39a0ebe9c999449cc7dd87018917943db4735c.svg":{"logical_path":"flags/4x3/bh.svg","mtime":"2020-01-16T20:20:11+01:00","size":546,"digest":"7c82c4a6ba963172c6c1b4423f39a0ebe9c999449cc7dd87018917943db4735c","integrity":"sha256-fILEprqWMXLGwbRCPzmg6+nJmUScx92HAYkXlD20c1w="},"flags/1x1/bh-6893aac3e55c6480e9dac0c023ec2179f6c12a0da82a0bc2717134384c097e88.svg":{"logical_path":"flags/1x1/bh.svg","mtime":"2020-01-16T20:20:11+01:00","size":572,"digest":"6893aac3e55c6480e9dac0c023ec2179f6c12a0da82a0bc2717134384c097e88","integrity":"sha256-aJOqw+VcZIDp2sDAI+whefbBKg2oKgvCcXE0OEwJfog="},"flags/4x3/bi-4fcd0116f7f93c0564c6955806f3c3563d0ea7334ae406f29a897255845c923c.svg":{"logical_path":"flags/4x3/bi.svg","mtime":"2020-01-16T20:20:11+01:00","size":1074,"digest":"4fcd0116f7f93c0564c6955806f3c3563d0ea7334ae406f29a897255845c923c","integrity":"sha256-T80BFvf5PAVkxpVYBvPDVj0OpzNK5AbymolyVYRckjw="},"flags/1x1/bi-91c34eb431b26be67852782a0b93e1d7d577a925454d6c8cea00a0d872d2de8a.svg":{"logical_path":"flags/1x1/bi.svg","mtime":"2020-01-16T20:20:11+01:00","size":1048,"digest":"91c34eb431b26be67852782a0b93e1d7d577a925454d6c8cea00a0d872d2de8a","integrity":"sha256-kcNOtDGya+Z4UngqC5Ph19V3qSVFTWyM6gCg2HLS3oo="},"flags/4x3/bj-63bddb4268f5f8c2ed867041bcf058fb18fcd9d1e0799e01286fca2d5e961c7f.svg":{"logical_path":"flags/4x3/bj.svg","mtime":"2020-01-16T20:20:11+01:00","size":499,"digest":"63bddb4268f5f8c2ed867041bcf058fb18fcd9d1e0799e01286fca2d5e961c7f","integrity":"sha256-Y73bQmj1+MLthnBBvPBY+xj82dHgeZ4BKG/KLV6WHH8="},"flags/1x1/bj-e2606c5a8498c474a6b6708626b88108fcb73840344766566dc56f804279cdfc.svg":{"logical_path":"flags/1x1/bj.svg","mtime":"2020-01-16T20:20:11+01:00","size":502,"digest":"e2606c5a8498c474a6b6708626b88108fcb73840344766566dc56f804279cdfc","integrity":"sha256-4mBsWoSYxHSmtnCGJriBCPy3OEA0R2ZWbcVvgEJ5zfw="},"flags/4x3/bl-824a7265f48789d5e1ad5c5b0042a13a7d2d4357210e5bd8124fca19931e8c74.svg":{"logical_path":"flags/4x3/bl.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"824a7265f48789d5e1ad5c5b0042a13a7d2d4357210e5bd8124fca19931e8c74","integrity":"sha256-gkpyZfSHidXhrVxbAEKhOn0tQ1chDlvYEk/KGZMejHQ="},"flags/1x1/bl-ba6a7881b0ca72ac57aee4d823ae611ab4ad24a938ee9e01a7a4d5ae04cfccf6.svg":{"logical_path":"flags/1x1/bl.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"ba6a7881b0ca72ac57aee4d823ae611ab4ad24a938ee9e01a7a4d5ae04cfccf6","integrity":"sha256-ump4gbDKcqxXruTYI65hGrStJKk47p4Bp6TVrgTPzPY="},"flags/4x3/bm-2e2f09e5a4edf4b18afff581656f50b0b4c37783db29591ff00ca768f7f755bc.svg":{"logical_path":"flags/4x3/bm.svg","mtime":"2020-01-16T20:20:11+01:00","size":22650,"digest":"2e2f09e5a4edf4b18afff581656f50b0b4c37783db29591ff00ca768f7f755bc","integrity":"sha256-Li8J5aTt9LGK//WBZW9QsLTDd4PbKVkf8AynaPf3Vbw="},"flags/1x1/bm-f553f953f8784ea4d67a5197f5d808a67747eb8a1cb56990d6838e690090d2d6.svg":{"logical_path":"flags/1x1/bm.svg","mtime":"2020-01-16T20:20:11+01:00","size":22337,"digest":"f553f953f8784ea4d67a5197f5d808a67747eb8a1cb56990d6838e690090d2d6","integrity":"sha256-9VP5U/h4TqTWelGX9dgIpndH64octWmQ1oOOaQCQ0tY="},"flags/4x3/bn-bcf9967c12eb6397346cb5b960ae92efa41f314f780d09a3d7c81f5dacac4180.svg":{"logical_path":"flags/4x3/bn.svg","mtime":"2020-01-16T20:20:11+01:00","size":14387,"digest":"bcf9967c12eb6397346cb5b960ae92efa41f314f780d09a3d7c81f5dacac4180","integrity":"sha256-vPmWfBLrY5c0bLW5YK6S76QfMU94DQmj18gfXaysQYA="},"flags/1x1/bn-1d1aad3fe9fd33ce922eba33c9ae6047a5646349239c20d1bc7307ec6d19a043.svg":{"logical_path":"flags/1x1/bn.svg","mtime":"2020-01-16T20:20:11+01:00","size":14521,"digest":"1d1aad3fe9fd33ce922eba33c9ae6047a5646349239c20d1bc7307ec6d19a043","integrity":"sha256-HRqtP+n9M86SLrozya5gR6VkY0kjnCDRvHMH7G0ZoEM="},"flags/4x3/bo-fa423f2bb4ab6e8e9dd399ad73781ea8d9cbafd30f1b7ee0bcecfb9e7b75581e.svg":{"logical_path":"flags/4x3/bo.svg","mtime":"2020-01-16T20:20:11+01:00","size":118272,"digest":"fa423f2bb4ab6e8e9dd399ad73781ea8d9cbafd30f1b7ee0bcecfb9e7b75581e","integrity":"sha256-+kI/K7Srbo6d05mtc3geqNnLr9MPG37gvOz7nnt1WB4="},"flags/1x1/bo-f5faa29e40191e0c76070ac1a1d2a1f2b18e9cd358b8a77cefaed8efc49a265e.svg":{"logical_path":"flags/1x1/bo.svg","mtime":"2020-01-16T20:20:11+01:00","size":119850,"digest":"f5faa29e40191e0c76070ac1a1d2a1f2b18e9cd358b8a77cefaed8efc49a265e","integrity":"sha256-9fqinkAZHgx2BwrBodKh8rGOnNNYuKd8767Y78SaJl4="},"flags/4x3/bq-493c92ab19204c3ad319e6caba021df050132b99bd57a8f9b74131b78229c29e.svg":{"logical_path":"flags/4x3/bq.svg","mtime":"2020-01-16T20:20:11+01:00","size":227,"digest":"493c92ab19204c3ad319e6caba021df050132b99bd57a8f9b74131b78229c29e","integrity":"sha256-STySqxkgTDrTGebKugId8FATK5m9V6j5t0Ext4Ipwp4="},"flags/1x1/bq-6e30bbeabc2aa097f657a411984b3c23278a8fcce2fc016b1cd6d2262f672d33.svg":{"logical_path":"flags/1x1/bq.svg","mtime":"2020-01-16T20:20:11+01:00","size":231,"digest":"6e30bbeabc2aa097f657a411984b3c23278a8fcce2fc016b1cd6d2262f672d33","integrity":"sha256-bjC76rwqoJf2V6QRmEs8IyeKj8zi/AFrHNbSJi9nLTM="},"flags/4x3/br-cf3ba80ec2c9fd4d3c845c3a3c43a2b9d81cf90707a2918789e8b1f596833e01.svg":{"logical_path":"flags/4x3/br.svg","mtime":"2020-01-16T20:20:11+01:00","size":8244,"digest":"cf3ba80ec2c9fd4d3c845c3a3c43a2b9d81cf90707a2918789e8b1f596833e01","integrity":"sha256-zzuoDsLJ/U08hFw6PEOiudgc+QcHopGHieix9ZaDPgE="},"flags/1x1/br-7bf4e4b31650ac25f0bc6c86eb87491a7e5a8eac13acccfcbde44346c88728f6.svg":{"logical_path":"flags/1x1/br.svg","mtime":"2020-01-16T20:20:11+01:00","size":7852,"digest":"7bf4e4b31650ac25f0bc6c86eb87491a7e5a8eac13acccfcbde44346c88728f6","integrity":"sha256-e/TksxZQrCXwvGyG64dJGn5ajqwTrMz8veRDRsiHKPY="},"flags/4x3/bs-69f60b5fea96b67dd939e597099994921bb3dc3bcf31b8dee7cc45be2885c836.svg":{"logical_path":"flags/4x3/bs.svg","mtime":"2020-01-16T20:20:11+01:00","size":549,"digest":"69f60b5fea96b67dd939e597099994921bb3dc3bcf31b8dee7cc45be2885c836","integrity":"sha256-afYLX+qWtn3ZOeWXCZmUkhuz3DvPMbje58xFviiFyDY="},"flags/1x1/bs-f5d6acf7ef7a240dc09ac88710fd77fd3494501104392db74d5c540d482f2262.svg":{"logical_path":"flags/1x1/bs.svg","mtime":"2020-01-16T20:20:11+01:00","size":571,"digest":"f5d6acf7ef7a240dc09ac88710fd77fd3494501104392db74d5c540d482f2262","integrity":"sha256-9das9+96JA3AmsiHEP13/TSUUBEEOS23TVxUDUgvImI="},"flags/4x3/bt-6c20b0c00e12d5898be0239a0c66ce775debd0bd536de56a271859a0285a039e.svg":{"logical_path":"flags/4x3/bt.svg","mtime":"2020-01-16T20:20:11+01:00","size":25345,"digest":"6c20b0c00e12d5898be0239a0c66ce775debd0bd536de56a271859a0285a039e","integrity":"sha256-bCCwwA4S1YmL4COaDGbOd13r0L1TbeVqJxhZoChaA54="},"flags/1x1/bt-58de3ca9438811ef1920e2f84c4ba4ce32d01069f4d197ab5d577de6acbe0c85.svg":{"logical_path":"flags/1x1/bt.svg","mtime":"2020-01-16T20:20:11+01:00","size":25172,"digest":"58de3ca9438811ef1920e2f84c4ba4ce32d01069f4d197ab5d577de6acbe0c85","integrity":"sha256-WN48qUOIEe8ZIOL4TEukzjLQEGn00ZerXVd95qy+DIU="},"flags/4x3/bv-ff173190fc339b3cb8b6e8235bc5e373853d7127fd94cbc32ac737e839aeb586.svg":{"logical_path":"flags/4x3/bv.svg","mtime":"2020-01-16T20:20:11+01:00","size":582,"digest":"ff173190fc339b3cb8b6e8235bc5e373853d7127fd94cbc32ac737e839aeb586","integrity":"sha256-/xcxkPwzmzy4tugjW8Xjc4U9cSf9lMvDKsc36DmutYY="},"flags/1x1/bv-59616ff1a722959064c83927ca2e49c1fce42a9b18e91b9ecbb74f62527aff43.svg":{"logical_path":"flags/1x1/bv.svg","mtime":"2020-01-16T20:20:11+01:00","size":585,"digest":"59616ff1a722959064c83927ca2e49c1fce42a9b18e91b9ecbb74f62527aff43","integrity":"sha256-WWFv8acilZBkyDknyi5JwfzkKpsY6Ruey7dPYlJ6/0M="},"flags/4x3/bw-4bb1d3131b88c65b5decc67f7b44903e931bca2fcac841942591c599f0cbb850.svg":{"logical_path":"flags/4x3/bw.svg","mtime":"2020-01-16T20:20:11+01:00","size":255,"digest":"4bb1d3131b88c65b5decc67f7b44903e931bca2fcac841942591c599f0cbb850","integrity":"sha256-S7HTExuIxltd7MZ/e0SQPpMbyi/KyEGUJZHFmfDLuFA="},"flags/1x1/bw-e08f50c0836ca5858aed7b0526aed6fb630da8dc6b6b96bd9a476af599dc89d6.svg":{"logical_path":"flags/1x1/bw.svg","mtime":"2020-01-16T20:20:11+01:00","size":257,"digest":"e08f50c0836ca5858aed7b0526aed6fb630da8dc6b6b96bd9a476af599dc89d6","integrity":"sha256-4I9QwINspYWK7XsFJq7W+2MNqNxra5a9mkdq9ZncidY="},"flags/4x3/by-324ac96bfbe075781c664be3b9e2ac6b4d2a46dd2b418ca0920284f64394c7d4.svg":{"logical_path":"flags/4x3/by.svg","mtime":"2020-01-16T20:20:11+01:00","size":5998,"digest":"324ac96bfbe075781c664be3b9e2ac6b4d2a46dd2b418ca0920284f64394c7d4","integrity":"sha256-MkrJa/vgdXgcZkvjueKsa00qRt0rQYygkgKE9kOUx9Q="},"flags/1x1/by-37b80e8bf7e51fef99a8307d6dffb04ee164790ceeafef606d516ca333e9488a.svg":{"logical_path":"flags/1x1/by.svg","mtime":"2020-01-16T20:20:11+01:00","size":6105,"digest":"37b80e8bf7e51fef99a8307d6dffb04ee164790ceeafef606d516ca333e9488a","integrity":"sha256-N7gOi/flH++ZqDB9bf+wTuFkeQzur+9gbVFsozPpSIo="},"flags/4x3/bz-156fdc45f8c15c9520a1ea9fc0f395f294f02077408ea1938c222a37cfbb7f1d.svg":{"logical_path":"flags/4x3/bz.svg","mtime":"2020-01-16T20:20:11+01:00","size":46916,"digest":"156fdc45f8c15c9520a1ea9fc0f395f294f02077408ea1938c222a37cfbb7f1d","integrity":"sha256-FW/cRfjBXJUgoeqfwPOV8pTwIHdAjqGTjCIqN8+7fx0="},"flags/1x1/bz-24577d4e7b29b33ab3b1d37914c8479889baa7e8c8399c6d1c99faed31ab053a.svg":{"logical_path":"flags/1x1/bz.svg","mtime":"2020-01-16T20:20:11+01:00","size":47160,"digest":"24577d4e7b29b33ab3b1d37914c8479889baa7e8c8399c6d1c99faed31ab053a","integrity":"sha256-JFd9TnspszqzsdN5FMhHmIm6p+jIOZxtHJn67TGrBTo="},"flags/4x3/ca-0d57cab46d5dbb0012a5e4ae0a9efee3baee90d5d157950a6c5d67edf2daa58f.svg":{"logical_path":"flags/4x3/ca.svg","mtime":"2020-01-16T20:20:11+01:00","size":731,"digest":"0d57cab46d5dbb0012a5e4ae0a9efee3baee90d5d157950a6c5d67edf2daa58f","integrity":"sha256-DVfKtG1duwASpeSuCp7+47rukNXRV5UKbF1n7fLapY8="},"flags/1x1/ca-192a6fb0544e5a6f33a32149d62f1e7ac0a1d61c5c5afa57f3a42346ca8e8c90.svg":{"logical_path":"flags/1x1/ca.svg","mtime":"2020-01-16T20:20:11+01:00","size":712,"digest":"192a6fb0544e5a6f33a32149d62f1e7ac0a1d61c5c5afa57f3a42346ca8e8c90","integrity":"sha256-GSpvsFROWm8zoyFJ1i8eesCh1hxcWvpX86QjRsqOjJA="},"flags/4x3/cc-a35f2a9e10a28d6918ced65e0623b03bb2fbf1f20670b581bc0a409d33b4e843.svg":{"logical_path":"flags/4x3/cc.svg","mtime":"2020-01-16T20:20:11+01:00","size":3144,"digest":"a35f2a9e10a28d6918ced65e0623b03bb2fbf1f20670b581bc0a409d33b4e843","integrity":"sha256-o18qnhCijWkYztZeBiOwO7L78fIGcLWBvApAnTO06EM="},"flags/1x1/cc-d2025eefc9d30f724f3fcd95c0fd9f7938930ecb01af7e0cd6ee6553d7358eb6.svg":{"logical_path":"flags/1x1/cc.svg","mtime":"2020-01-16T20:20:11+01:00","size":3092,"digest":"d2025eefc9d30f724f3fcd95c0fd9f7938930ecb01af7e0cd6ee6553d7358eb6","integrity":"sha256-0gJe78nTD3JPP82VwP2feTiTDssBr34M1u5lU9c1jrY="},"flags/4x3/cd-5d2127c991b30522ae0a29d05facbc88728c050d7e333a60d614af1545459c5c.svg":{"logical_path":"flags/4x3/cd.svg","mtime":"2020-01-16T20:20:11+01:00","size":352,"digest":"5d2127c991b30522ae0a29d05facbc88728c050d7e333a60d614af1545459c5c","integrity":"sha256-XSEnyZGzBSKuCinQX6y8iHKMBQ1+Mzpg1hSvFUVFnFw="},"flags/1x1/cd-59dacf424d1c8c779db66c5b7f2a93a3c8f14976c2975ccfb07639676a1602e3.svg":{"logical_path":"flags/1x1/cd.svg","mtime":"2020-01-16T20:20:11+01:00","size":510,"digest":"59dacf424d1c8c779db66c5b7f2a93a3c8f14976c2975ccfb07639676a1602e3","integrity":"sha256-WdrPQk0cjHedtmxbfyqTo8jxSXbCl1zPsHY5Z2oWAuM="},"flags/4x3/cf-ac0aaffba354d848eba2501a402ee81dc96a56ad0acd3741ec9905e76c372e1e.svg":{"logical_path":"flags/4x3/cf.svg","mtime":"2020-01-16T20:20:11+01:00","size":689,"digest":"ac0aaffba354d848eba2501a402ee81dc96a56ad0acd3741ec9905e76c372e1e","integrity":"sha256-rAqv+6NU2EjrolAaQC7oHclqVq0KzTdB7JkF52w3Lh4="},"flags/1x1/cf-e637674faf7edcdad37182192d038448c157421ab0c69377d9b8e56ab2c0249d.svg":{"logical_path":"flags/1x1/cf.svg","mtime":"2020-01-16T20:20:11+01:00","size":635,"digest":"e637674faf7edcdad37182192d038448c157421ab0c69377d9b8e56ab2c0249d","integrity":"sha256-5jdnT69+3NrTcYIZLQOESMFXQhqwxpN32bjlarLAJJ0="},"flags/4x3/cg-3729f717c83c9df7d0543a1a5d4a506efe184bdfeb39f9260b4b63edf19d2538.svg":{"logical_path":"flags/4x3/cg.svg","mtime":"2020-01-16T20:20:11+01:00","size":484,"digest":"3729f717c83c9df7d0543a1a5d4a506efe184bdfeb39f9260b4b63edf19d2538","integrity":"sha256-Nyn3F8g8nffQVDoaXUpQbv4YS9/rOfkmC0tj7fGdJTg="},"flags/1x1/cg-8353ff1f251714b1b8905eec1722378426719955d0637d206d35d1dcfa68ddcf.svg":{"logical_path":"flags/1x1/cg.svg","mtime":"2020-01-16T20:20:11+01:00","size":472,"digest":"8353ff1f251714b1b8905eec1722378426719955d0637d206d35d1dcfa68ddcf","integrity":"sha256-g1P/HyUXFLG4kF7sFyI3hCZxmVXQY30gbTXR3Ppo3c8="},"flags/4x3/ch-6739edee6d1ef72c4ed97cfe723d3bb7f17e4df5390f3a4ae234f1ffdeece0cf.svg":{"logical_path":"flags/4x3/ch.svg","mtime":"2020-01-16T20:20:11+01:00","size":300,"digest":"6739edee6d1ef72c4ed97cfe723d3bb7f17e4df5390f3a4ae234f1ffdeece0cf","integrity":"sha256-Zznt7m0e9yxO2Xz+cj07t/F+TfU5DzpK4jTx/97s4M8="},"flags/1x1/ch-7c3dec465228981c57a90a3a7b3a6c42dd3e699230663e770b55008ce6d14208.svg":{"logical_path":"flags/1x1/ch.svg","mtime":"2020-01-16T20:20:11+01:00","size":298,"digest":"7c3dec465228981c57a90a3a7b3a6c42dd3e699230663e770b55008ce6d14208","integrity":"sha256-fD3sRlIomBxXqQo6ezpsQt0+aZIwZj53C1UAjObRQgg="},"flags/4x3/ci-3e076d13c9524149508c442f8f727424660124e3591280d8ae9bddf9d8272a1e.svg":{"logical_path":"flags/4x3/ci.svg","mtime":"2020-01-16T20:20:11+01:00","size":283,"digest":"3e076d13c9524149508c442f8f727424660124e3591280d8ae9bddf9d8272a1e","integrity":"sha256-PgdtE8lSQUlQjEQvj3J0JGYBJONZEoDYrpvd+dgnKh4="},"flags/1x1/ci-691a0a8577b7d555fc90dc7170adc9ec7571191cb3507c46c0e8516fd1778a91.svg":{"logical_path":"flags/1x1/ci.svg","mtime":"2020-01-16T20:20:11+01:00","size":286,"digest":"691a0a8577b7d555fc90dc7170adc9ec7571191cb3507c46c0e8516fd1778a91","integrity":"sha256-aRoKhXe31VX8kNxxcK3J7HVxGRyzUHxGwOhRb9F3ipE="},"flags/4x3/ck-9cff098e505afde9bf5166cb7b0c409178575633b913ce08c1c700d08c477db6.svg":{"logical_path":"flags/4x3/ck.svg","mtime":"2020-01-16T20:20:11+01:00","size":1887,"digest":"9cff098e505afde9bf5166cb7b0c409178575633b913ce08c1c700d08c477db6","integrity":"sha256-nP8JjlBa/em/UWbLewxAkXhXVjO5E84IwccA0IxHfbY="},"flags/1x1/ck-9c8dffa3bd5953d8a121780831f25b58738e67f3be71961894c56dfd25848c88.svg":{"logical_path":"flags/1x1/ck.svg","mtime":"2020-01-16T20:20:11+01:00","size":1846,"digest":"9c8dffa3bd5953d8a121780831f25b58738e67f3be71961894c56dfd25848c88","integrity":"sha256-nI3/o71ZU9ihIXgIMfJbWHOOZ/O+cZYYlMVt/SWEjIg="},"flags/4x3/cl-a4c57ec2bb9adcb67e1850256e5165227b764187d6941a38d95d0def5144699b.svg":{"logical_path":"flags/4x3/cl.svg","mtime":"2020-01-16T20:20:11+01:00","size":560,"digest":"a4c57ec2bb9adcb67e1850256e5165227b764187d6941a38d95d0def5144699b","integrity":"sha256-pMV+wrua3LZ+GFAlblFlInt2QYfWlBo42V0N71FEaZs="},"flags/1x1/cl-5a3e95cf63358e3911c97404818c2cddfd46414d8445e47d6976ee166c48926c.svg":{"logical_path":"flags/1x1/cl.svg","mtime":"2020-01-16T20:20:11+01:00","size":577,"digest":"5a3e95cf63358e3911c97404818c2cddfd46414d8445e47d6976ee166c48926c","integrity":"sha256-Wj6Vz2M1jjkRyXQEgYws3f1GQU2EReR9aXbuFmxIkmw="},"flags/4x3/cm-5dce9f36d92a61bdc0c482141bdb4f55bfcec0a2ecc745db643a7953e2e5a722.svg":{"logical_path":"flags/4x3/cm.svg","mtime":"2020-01-16T20:20:11+01:00","size":827,"digest":"5dce9f36d92a61bdc0c482141bdb4f55bfcec0a2ecc745db643a7953e2e5a722","integrity":"sha256-Xc6fNtkqYb3AxIIUG9tPVb/OwKLsx0XbZDp5U+LlpyI="},"flags/1x1/cm-d8d21f54c44df5df9edef227691384a4ad37c15ff57c8aa0dead684d19eac8cd.svg":{"logical_path":"flags/1x1/cm.svg","mtime":"2020-01-16T20:20:11+01:00","size":827,"digest":"d8d21f54c44df5df9edef227691384a4ad37c15ff57c8aa0dead684d19eac8cd","integrity":"sha256-2NIfVMRN9d+e3vInaROEpK03wV/1fIqg3q1oTRnqyM0="},"flags/4x3/cn-48ce1c2837bb806a6aaf8b7a9878b6d040c0d069a0ffca9a8a49e7a31aa30e7f.svg":{"logical_path":"flags/4x3/cn.svg","mtime":"2020-01-16T20:20:11+01:00","size":804,"digest":"48ce1c2837bb806a6aaf8b7a9878b6d040c0d069a0ffca9a8a49e7a31aa30e7f","integrity":"sha256-SM4cKDe7gGpqr4t6mHi20EDA0Gmg/8qaiknnoxqjDn8="},"flags/1x1/cn-e6be64c6c4a976e64d39bfe8a6ae4a5b1d38a6aa1b138ddcacf34a942dff50bc.svg":{"logical_path":"flags/1x1/cn.svg","mtime":"2020-01-16T20:20:11+01:00","size":746,"digest":"e6be64c6c4a976e64d39bfe8a6ae4a5b1d38a6aa1b138ddcacf34a942dff50bc","integrity":"sha256-5r5kxsSpduZNOb/opq5KWx04pqobE43crPNKlC3/ULw="},"flags/4x3/co-648d3ff596a0ecf3e85ac17c53abe1d7ca4759688e10a7a3a8b56f096ba6b6f7.svg":{"logical_path":"flags/4x3/co.svg","mtime":"2020-01-16T20:20:11+01:00","size":292,"digest":"648d3ff596a0ecf3e85ac17c53abe1d7ca4759688e10a7a3a8b56f096ba6b6f7","integrity":"sha256-ZI0/9Zag7PPoWsF8U6vh18pHWWiOEKejqLVvCWumtvc="},"flags/1x1/co-d3c16180c6bce630f762aff789104d10e9dbc949e740535a61396cd0ec34c1a1.svg":{"logical_path":"flags/1x1/co.svg","mtime":"2020-01-16T20:20:11+01:00","size":292,"digest":"d3c16180c6bce630f762aff789104d10e9dbc949e740535a61396cd0ec34c1a1","integrity":"sha256-08FhgMa85jD3Yq/3iRBNEOnbyUnnQFNaYTls0Ow0waE="},"flags/4x3/cr-84aec60f19bd33e1ac1a209155fec8d372e17cb59dc1346bb9124e5cc867375d.svg":{"logical_path":"flags/4x3/cr.svg","mtime":"2020-01-16T20:20:11+01:00","size":296,"digest":"84aec60f19bd33e1ac1a209155fec8d372e17cb59dc1346bb9124e5cc867375d","integrity":"sha256-hK7GDxm9M+GsGiCRVf7I03LhfLWdwTRruRJOXMhnN10="},"flags/1x1/cr-5371cf8bc5ad1a805155c1b3065e420a0a418c8d63b472bc545890289a365b35.svg":{"logical_path":"flags/1x1/cr.svg","mtime":"2020-01-16T20:20:11+01:00","size":296,"digest":"5371cf8bc5ad1a805155c1b3065e420a0a418c8d63b472bc545890289a365b35","integrity":"sha256-U3HPi8WtGoBRVcGzBl5CCgpBjI1jtHK8VFiQKJo2WzU="},"flags/4x3/cu-bb3f857e02aeab606120d9f164283f07a44b227f12aad7d6d344c7579f7b3ff0.svg":{"logical_path":"flags/4x3/cu.svg","mtime":"2020-01-16T20:20:11+01:00","size":619,"digest":"bb3f857e02aeab606120d9f164283f07a44b227f12aad7d6d344c7579f7b3ff0","integrity":"sha256-uz+FfgKuq2BhINnxZCg/B6RLIn8SqtfW00THV597P/A="},"flags/1x1/cu-02c0054169b874a8d231de1f45b2d0884de48848157734e0ddcd0f684c05c18d.svg":{"logical_path":"flags/1x1/cu.svg","mtime":"2020-01-16T20:20:11+01:00","size":576,"digest":"02c0054169b874a8d231de1f45b2d0884de48848157734e0ddcd0f684c05c18d","integrity":"sha256-AsAFQWm4dKjSMd4fRbLQiE3kiEgVdzTg3c0PaEwFwY0="},"flags/4x3/cv-90ee90ab59713454a218d8c300c71139e62655de80bfbea81df93142a529b81f.svg":{"logical_path":"flags/4x3/cv.svg","mtime":"2020-01-16T20:20:11+01:00","size":1414,"digest":"90ee90ab59713454a218d8c300c71139e62655de80bfbea81df93142a529b81f","integrity":"sha256-kO6Qq1lxNFSiGNjDAMcROeYmVd6Av76oHfkxQqUpuB8="},"flags/1x1/cv-2cf3eede97a468d28459ccc2271c28bb5b6029af2388b0301f6203be55e49308.svg":{"logical_path":"flags/1x1/cv.svg","mtime":"2020-01-16T20:20:11+01:00","size":1362,"digest":"2cf3eede97a468d28459ccc2271c28bb5b6029af2388b0301f6203be55e49308","integrity":"sha256-LPPu3pekaNKEWczCJxwou1tgKa8jiLAwH2IDvlXkkwg="},"flags/4x3/cw-d46beb7b10b40fa82cfd40eb86a3b3879f59f5da2a2f5ef91d121ab9b16c0aad.svg":{"logical_path":"flags/4x3/cw.svg","mtime":"2020-01-16T20:20:11+01:00","size":678,"digest":"d46beb7b10b40fa82cfd40eb86a3b3879f59f5da2a2f5ef91d121ab9b16c0aad","integrity":"sha256-1GvrexC0D6gs/UDrhqOzh59Z9doqL175HRIaubFsCq0="},"flags/1x1/cw-ba78c834e61b24a8a2b6bc7c80ab9f14e42c3c69415941ddb7c8c1f652ccd8b5.svg":{"logical_path":"flags/1x1/cw.svg","mtime":"2020-01-16T20:20:11+01:00","size":685,"digest":"ba78c834e61b24a8a2b6bc7c80ab9f14e42c3c69415941ddb7c8c1f652ccd8b5","integrity":"sha256-unjINOYbJKiitrx8gKufFOQsPGlBWUHdt8jB9lLM2LU="},"flags/4x3/cx-28187fb9d91bedc6f239b107d26eb6ec1cc2a0c7730810306c5a6b313c14f2b2.svg":{"logical_path":"flags/4x3/cx.svg","mtime":"2020-01-16T20:20:11+01:00","size":2469,"digest":"28187fb9d91bedc6f239b107d26eb6ec1cc2a0c7730810306c5a6b313c14f2b2","integrity":"sha256-KBh/udkb7cbyObEH0m627BzCoMdzCBAwbFprMTwU8rI="},"flags/1x1/cx-8ebe073d997f93d092a493300ea1d234c91aef80c6e8f431e88aa7f8e724f9a6.svg":{"logical_path":"flags/1x1/cx.svg","mtime":"2020-01-16T20:20:11+01:00","size":2508,"digest":"8ebe073d997f93d092a493300ea1d234c91aef80c6e8f431e88aa7f8e724f9a6","integrity":"sha256-jr4HPZl/k9CSpJMwDqHSNMka74DG6PQx6Iqn+Ock+aY="},"flags/4x3/cy-8d633ecabc7968bb8a869c62545f122aacbbc3e108c25ceb421bb8bc8734b9be.svg":{"logical_path":"flags/4x3/cy.svg","mtime":"2020-01-16T20:20:11+01:00","size":5949,"digest":"8d633ecabc7968bb8a869c62545f122aacbbc3e108c25ceb421bb8bc8734b9be","integrity":"sha256-jWM+yrx5aLuKhpxiVF8SKqy7w+EIwlzrQhu4vIc0ub4="},"flags/1x1/cy-6ef37fdd7518f18727bec1ed9741bb4d1f854dde7ef1a7e9fd2f4ba6291a7790.svg":{"logical_path":"flags/1x1/cy.svg","mtime":"2020-01-16T20:20:11+01:00","size":6053,"digest":"6ef37fdd7518f18727bec1ed9741bb4d1f854dde7ef1a7e9fd2f4ba6291a7790","integrity":"sha256-bvN/3XUY8YcnvsHtl0G7TR+FTd5+8afp/S9Lpikad5A="},"flags/4x3/cz-6c94e3d53fc1ae5982d8eb058b76d86f07d3fb4cd325698fea3291fa35504c56.svg":{"logical_path":"flags/4x3/cz.svg","mtime":"2020-01-16T20:20:11+01:00","size":481,"digest":"6c94e3d53fc1ae5982d8eb058b76d86f07d3fb4cd325698fea3291fa35504c56","integrity":"sha256-bJTj1T/BrlmC2OsFi3bYbwfT+0zTJWmP6jKR+jVQTFY="},"flags/1x1/cz-af9898ebd32559cdbea2fd17b351e5eedafccada6fbc6a2b7952cad78369817e.svg":{"logical_path":"flags/1x1/cz.svg","mtime":"2020-01-16T20:20:11+01:00","size":483,"digest":"af9898ebd32559cdbea2fd17b351e5eedafccada6fbc6a2b7952cad78369817e","integrity":"sha256-r5iY69MlWc2+ov0Xs1Hl7tr8ytpvvGoreVLK14NpgX4="},"flags/4x3/de-e7323083675d25107c85f0cea6534bd21d21e77e6d524d92e1b2d0a4e21117a1.svg":{"logical_path":"flags/4x3/de.svg","mtime":"2020-01-16T20:20:11+01:00","size":216,"digest":"e7323083675d25107c85f0cea6534bd21d21e77e6d524d92e1b2d0a4e21117a1","integrity":"sha256-5zIwg2ddJRB8hfDOplNL0h0h535tUk2S4bLQpOIRF6E="},"flags/1x1/de-fdb60146952d3b2d104310b28882a0ecde44d808240c3bab2cd6c302a538b266.svg":{"logical_path":"flags/1x1/de.svg","mtime":"2020-01-16T20:20:11+01:00","size":224,"digest":"fdb60146952d3b2d104310b28882a0ecde44d808240c3bab2cd6c302a538b266","integrity":"sha256-/bYBRpUtOy0QQxCyiIKg7N5E2AgkDDurLNbDAqU4smY="},"flags/4x3/dj-546da4a0dae9b1ab74dc6ac6076d0c706f37ef2a0d799342dd0345e11f770f03.svg":{"logical_path":"flags/4x3/dj.svg","mtime":"2020-01-16T20:20:11+01:00","size":588,"digest":"546da4a0dae9b1ab74dc6ac6076d0c706f37ef2a0d799342dd0345e11f770f03","integrity":"sha256-VG2koNrpsat03GrGB20McG837yoNeZNC3QNF4R93DwM="},"flags/1x1/dj-c0481b667f003d9d5a3c93861023a97a98224227ac19aa7e07b5b6edd35fe900.svg":{"logical_path":"flags/1x1/dj.svg","mtime":"2020-01-16T20:20:11+01:00","size":588,"digest":"c0481b667f003d9d5a3c93861023a97a98224227ac19aa7e07b5b6edd35fe900","integrity":"sha256-wEgbZn8APZ1aPJOGECOpepgiQiesGap+B7W27dNf6QA="},"flags/4x3/dk-a13735c0337ab4679cd8679508bf5e8067637ab611ca5c54172c621d740420e5.svg":{"logical_path":"flags/4x3/dk.svg","mtime":"2020-01-16T20:20:11+01:00","size":242,"digest":"a13735c0337ab4679cd8679508bf5e8067637ab611ca5c54172c621d740420e5","integrity":"sha256-oTc1wDN6tGec2GeVCL9egGdjerYRylxUFyxiHXQEIOU="},"flags/1x1/dk-822a3b8b6948f49aa81fe7620bd173453d9a45406a9680f24bad7e714e58cb7c.svg":{"logical_path":"flags/1x1/dk.svg","mtime":"2020-01-16T20:20:11+01:00","size":238,"digest":"822a3b8b6948f49aa81fe7620bd173453d9a45406a9680f24bad7e714e58cb7c","integrity":"sha256-gio7i2lI9JqoH+diC9FzRT2aRUBqloDyS61+cU5Yy3w="},"flags/4x3/dm-7713fabd3cf341694b4c1ef5d1379820773722b61c190234ac7416f2872e3940.svg":{"logical_path":"flags/4x3/dm.svg","mtime":"2020-01-16T20:20:11+01:00","size":16026,"digest":"7713fabd3cf341694b4c1ef5d1379820773722b61c190234ac7416f2872e3940","integrity":"sha256-dxP6vTzzQWlLTB710TeYIHc3IrYcGQI0rHQW8ocuOUA="},"flags/1x1/dm-33d984fc9897bb2a3bd16c6672b876effc1a8adc0c57ad122a16db54061e4e46.svg":{"logical_path":"flags/1x1/dm.svg","mtime":"2020-01-16T20:20:11+01:00","size":16514,"digest":"33d984fc9897bb2a3bd16c6672b876effc1a8adc0c57ad122a16db54061e4e46","integrity":"sha256-M9mE/JiXuyo70Wxmcrh27/waitwMV60SKhbbVAYeTkY="},"flags/4x3/do-714b6f307ea3a9c3d30348684b8574e8b7f5078f51649dfa97ae2a69a7108b4a.svg":{"logical_path":"flags/4x3/do.svg","mtime":"2020-01-16T20:20:11+01:00","size":394146,"digest":"714b6f307ea3a9c3d30348684b8574e8b7f5078f51649dfa97ae2a69a7108b4a","integrity":"sha256-cUtvMH6jqcPTA0hoS4V06Lf1B49RZJ36l64qaacQi0o="},"flags/1x1/do-d37306c4b346f89ea14739144374caad69652be31e8ce8e2504c9a0d422a4857.svg":{"logical_path":"flags/1x1/do.svg","mtime":"2020-01-16T20:20:11+01:00","size":391714,"digest":"d37306c4b346f89ea14739144374caad69652be31e8ce8e2504c9a0d422a4857","integrity":"sha256-03MGxLNG+J6hRzkUQ3TKrWllK+MejOjiUEyaDUIqSFc="},"flags/4x3/dz-a96e943c830558fe9823044aac2bfb3f6a4caf3bd3c57943352280a7f6b68cb1.svg":{"logical_path":"flags/4x3/dz.svg","mtime":"2020-01-16T20:20:11+01:00","size":301,"digest":"a96e943c830558fe9823044aac2bfb3f6a4caf3bd3c57943352280a7f6b68cb1","integrity":"sha256-qW6UPIMFWP6YIwRKrCv7P2pMrzvTxXlDNSKAp/a2jLE="},"flags/1x1/dz-09400d3b2c58e641a1641a687b81476761d05f9d0ff65861aeaa33c7f508cda4.svg":{"logical_path":"flags/1x1/dz.svg","mtime":"2020-01-16T20:20:11+01:00","size":312,"digest":"09400d3b2c58e641a1641a687b81476761d05f9d0ff65861aeaa33c7f508cda4","integrity":"sha256-CUANOyxY5kGhZBpoe4FHZ2HQX50P9lhhrqozx/UIzaQ="},"flags/4x3/ec-6762ba85ea0f7bb289b0aa6219c797e5243103d281b1462c61b61030fa329d5e.svg":{"logical_path":"flags/4x3/ec.svg","mtime":"2020-01-16T20:20:11+01:00","size":29417,"digest":"6762ba85ea0f7bb289b0aa6219c797e5243103d281b1462c61b61030fa329d5e","integrity":"sha256-Z2K6heoPe7KJsKpiGceX5SQxA9KBsUYsYbYQMPoynV4="},"flags/1x1/ec-7410a75a013738fbb8cbd756d967380e02ae54ca74e9ef9a41c4b583c2c2794f.svg":{"logical_path":"flags/1x1/ec.svg","mtime":"2020-01-16T20:20:11+01:00","size":29972,"digest":"7410a75a013738fbb8cbd756d967380e02ae54ca74e9ef9a41c4b583c2c2794f","integrity":"sha256-dBCnWgE3OPu4y9dW2Wc4DgKuVMp06e+aQcS1g8LCeU8="},"flags/4x3/ee-ce3b622214bd9eefb43373cae2811ea8cf6ef6a16bb6afbaa5bcaaea34024da0.svg":{"logical_path":"flags/4x3/ee.svg","mtime":"2020-01-16T20:20:11+01:00","size":324,"digest":"ce3b622214bd9eefb43373cae2811ea8cf6ef6a16bb6afbaa5bcaaea34024da0","integrity":"sha256-zjtiIhS9nu+0M3PK4oEeqM9u9qFrtq+6pbyq6jQCTaA="},"flags/1x1/ee-a207a8363b4dde44f59951501c2cb539419e92b0814b25d6448710ced52226f8.svg":{"logical_path":"flags/1x1/ee.svg","mtime":"2020-01-16T20:20:11+01:00","size":355,"digest":"a207a8363b4dde44f59951501c2cb539419e92b0814b25d6448710ced52226f8","integrity":"sha256-ogeoNjtN3kT1mVFQHCy1OUGekrCBSyXWRIcQztUiJvg="},"flags/4x3/eg-16a11fa93856ddc5fd46f8811adfc93660175724b20eaab55ff046855a352d2c.svg":{"logical_path":"flags/4x3/eg.svg","mtime":"2020-01-16T20:20:11+01:00","size":9978,"digest":"16a11fa93856ddc5fd46f8811adfc93660175724b20eaab55ff046855a352d2c","integrity":"sha256-FqEfqThW3cX9RviBGt/JNmAXVySyDqq1X/BGhVo1LSw="},"flags/1x1/eg-9f4d098c604326bbc3692f9e2f335dbc9b34bdf2706565bf448380f0a889d1e2.svg":{"logical_path":"flags/1x1/eg.svg","mtime":"2020-01-16T20:20:11+01:00","size":9992,"digest":"9f4d098c604326bbc3692f9e2f335dbc9b34bdf2706565bf448380f0a889d1e2","integrity":"sha256-n00JjGBDJrvDaS+eLzNdvJs0vfJwZWW/RIOA8KiJ0eI="},"flags/4x3/eh-9cf4a74d29c1a1afc4137deeb5b678d55c8fbdf8d181217267f3a5cce6a76a97.svg":{"logical_path":"flags/4x3/eh.svg","mtime":"2020-01-16T20:20:11+01:00","size":878,"digest":"9cf4a74d29c1a1afc4137deeb5b678d55c8fbdf8d181217267f3a5cce6a76a97","integrity":"sha256-nPSnTSnBoa/EE33utbZ41VyPvfjRgSFyZ/OlzOanapc="},"flags/1x1/eh-16c3327dbcf3483e634b3536b056324b5478212dae6d060f2ffb2ec961cd382f.svg":{"logical_path":"flags/1x1/eh.svg","mtime":"2020-01-16T20:20:11+01:00","size":828,"digest":"16c3327dbcf3483e634b3536b056324b5478212dae6d060f2ffb2ec961cd382f","integrity":"sha256-FsMyfbzzSD5jSzU2sFYyS1R4IS2ubQYPL/suyWHNOC8="},"flags/4x3/er-69a1e1e45289d1282df4b1e5ce5e712d69fbe314abd0c922353fce90814c543e.svg":{"logical_path":"flags/4x3/er.svg","mtime":"2020-01-16T20:20:11+01:00","size":3207,"digest":"69a1e1e45289d1282df4b1e5ce5e712d69fbe314abd0c922353fce90814c543e","integrity":"sha256-aaHh5FKJ0Sgt9LHlzl5xLWn74xSr0MkiNT/OkIFMVD4="},"flags/1x1/er-90d49408e58955cf1cf3185b0193e03c4a107042d47ef5e975dbbe10c6ef7f4a.svg":{"logical_path":"flags/1x1/er.svg","mtime":"2020-01-16T20:20:11+01:00","size":3395,"digest":"90d49408e58955cf1cf3185b0193e03c4a107042d47ef5e975dbbe10c6ef7f4a","integrity":"sha256-kNSUCOWJVc8c8xhbAZPgPEoQcELUfvXpddu+EMbvf0o="},"flags/4x3/es-50e59681c6b6412498bd9cbfc473abedc713db75c54c538b839db3c394d64499.svg":{"logical_path":"flags/4x3/es.svg","mtime":"2020-01-16T20:20:11+01:00","size":92574,"digest":"50e59681c6b6412498bd9cbfc473abedc713db75c54c538b839db3c394d64499","integrity":"sha256-UOWWgca2QSSYvZy/xHOr7ccT23XFTFOLg52zw5TWRJk="},"flags/1x1/es-29c68fa3c9c8c2adacdc2eb0162e9c2fa998faa408836900ec6285000476800d.svg":{"logical_path":"flags/1x1/es.svg","mtime":"2020-01-16T20:20:11+01:00","size":94269,"digest":"29c68fa3c9c8c2adacdc2eb0162e9c2fa998faa408836900ec6285000476800d","integrity":"sha256-KcaPo8nIwq2s3C6wFi6cL6mY+qQIg2kA7GKFAAR2gA0="},"flags/4x3/et-14263ba7ea890fd0a4d89a2791343ecb7acc89aab1fc2593e00a6093b22251df.svg":{"logical_path":"flags/4x3/et.svg","mtime":"2020-01-16T20:20:11+01:00","size":1243,"digest":"14263ba7ea890fd0a4d89a2791343ecb7acc89aab1fc2593e00a6093b22251df","integrity":"sha256-FCY7p+qJD9Ck2JonkTQ+y3rMiaqx/CWT4Apgk7IiUd8="},"flags/1x1/et-086eefb70e9adad537cc1c640a72cc0fa843ec7a9b06b2778aa98b2db055bfe6.svg":{"logical_path":"flags/1x1/et.svg","mtime":"2020-01-16T20:20:11+01:00","size":1242,"digest":"086eefb70e9adad537cc1c640a72cc0fa843ec7a9b06b2778aa98b2db055bfe6","integrity":"sha256-CG7vtw6a2tU3zBxkCnLMD6hD7HqbBrJ3iqmLLbBVv+Y="},"flags/4x3/fi-a4c41caa02a4f6803ea0d6c36de4beebf20d150e3df742b1369a4099c2ff648e.svg":{"logical_path":"flags/4x3/fi.svg","mtime":"2020-01-16T20:20:11+01:00","size":240,"digest":"a4c41caa02a4f6803ea0d6c36de4beebf20d150e3df742b1369a4099c2ff648e","integrity":"sha256-pMQcqgKk9oA+oNbDbeS+6/INFQ4990KxNppAmcL/ZI4="},"flags/1x1/fi-c5fdf318fac5fdfc94fe54268618e58a2bc5933617ead09992900f90cc25de9a.svg":{"logical_path":"flags/1x1/fi.svg","mtime":"2020-01-16T20:20:11+01:00","size":243,"digest":"c5fdf318fac5fdfc94fe54268618e58a2bc5933617ead09992900f90cc25de9a","integrity":"sha256-xf3zGPrF/fyU/lQmhhjliivFkzYX6tCZkpAPkMwl3po="},"flags/4x3/fj-cb0cc4b3b5c202f07487ee519f48b3eadb47035f5f2d5d3f99d20f81e48d6b79.svg":{"logical_path":"flags/4x3/fj.svg","mtime":"2020-01-16T20:20:11+01:00","size":27388,"digest":"cb0cc4b3b5c202f07487ee519f48b3eadb47035f5f2d5d3f99d20f81e48d6b79","integrity":"sha256-ywzEs7XCAvB0h+5Rn0iz6ttHA19fLV0/mdIPgeSNa3k="},"flags/1x1/fj-c2c7fd536841925e7647b2d510d6a0c58700e2a8ded0e42008fb93ffacde101f.svg":{"logical_path":"flags/1x1/fj.svg","mtime":"2020-01-16T20:20:11+01:00","size":27519,"digest":"c2c7fd536841925e7647b2d510d6a0c58700e2a8ded0e42008fb93ffacde101f","integrity":"sha256-wsf9U2hBkl52R7LVENagxYcA4qje0OQgCPuT/6zeEB8="},"flags/4x3/fk-cb61eaa0d7221823f7d17de59ea88ed16b506f9585ab0c7291cf839449d82968.svg":{"logical_path":"flags/4x3/fk.svg","mtime":"2020-01-16T20:20:11+01:00","size":30453,"digest":"cb61eaa0d7221823f7d17de59ea88ed16b506f9585ab0c7291cf839449d82968","integrity":"sha256-y2HqoNciGCP30X3lnqiO0WtQb5WFqwxykc+DlEnYKWg="},"flags/1x1/fk-a871742380ae157d1211a63cc35cd3621b1bf6de6d67e4a8e3565ad200b1d8cf.svg":{"logical_path":"flags/1x1/fk.svg","mtime":"2020-01-16T20:20:11+01:00","size":30648,"digest":"a871742380ae157d1211a63cc35cd3621b1bf6de6d67e4a8e3565ad200b1d8cf","integrity":"sha256-qHF0I4CuFX0SEaY8w1zTYhsb9t5tZ+So41Za0gCx2M8="},"flags/4x3/fm-079b937562a9a412aae8fb762b571ddb49bf23627943c97247b6a9bbdb768153.svg":{"logical_path":"flags/4x3/fm.svg","mtime":"2020-01-16T20:20:11+01:00","size":773,"digest":"079b937562a9a412aae8fb762b571ddb49bf23627943c97247b6a9bbdb768153","integrity":"sha256-B5uTdWKppBKq6Pt2K1cd20m/I2J5Q8lyR7apu9t2gVM="},"flags/1x1/fm-dbec73633ecd8a6c50f56d54df36bbe6a2f8fb534ac7658477c82cad14a806a8.svg":{"logical_path":"flags/1x1/fm.svg","mtime":"2020-01-16T20:20:11+01:00","size":763,"digest":"dbec73633ecd8a6c50f56d54df36bbe6a2f8fb534ac7658477c82cad14a806a8","integrity":"sha256-2+xzYz7NimxQ9W1U3za75qL4+1NKx2WEd8gsrRSoBqg="},"flags/4x3/fo-27279c2481bb1cb3e44850a948987d6a8411acffa770c3aecd1b76d4c5853413.svg":{"logical_path":"flags/4x3/fo.svg","mtime":"2020-01-16T20:20:11+01:00","size":567,"digest":"27279c2481bb1cb3e44850a948987d6a8411acffa770c3aecd1b76d4c5853413","integrity":"sha256-JyecJIG7HLPkSFCpSJh9aoQRrP+ncMOuzRt21MWFNBM="},"flags/1x1/fo-7cb4fdbba1c7223702d843cb0709ddc799f89f909dfe101e3e36d6bf36c3e67f.svg":{"logical_path":"flags/1x1/fo.svg","mtime":"2020-01-16T20:20:11+01:00","size":537,"digest":"7cb4fdbba1c7223702d843cb0709ddc799f89f909dfe101e3e36d6bf36c3e67f","integrity":"sha256-fLT9u6HHIjcC2EPLBwndx5n4n5Cd/hAePjbWvzbD5n8="},"flags/4x3/fr-30ed2f68dc9a17927643640f48f3d2a858bd041770547035349c6e79713cd84e.svg":{"logical_path":"flags/4x3/fr.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"30ed2f68dc9a17927643640f48f3d2a858bd041770547035349c6e79713cd84e","integrity":"sha256-MO0vaNyaF5J2Q2QPSPPSqFi9BBdwVHA1NJxueXE82E4="},"flags/1x1/fr-6b849151204c66fa661c30b34e62919a13b9e66b7cd37a4fc8962e8e0baf9bdc.svg":{"logical_path":"flags/1x1/fr.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"6b849151204c66fa661c30b34e62919a13b9e66b7cd37a4fc8962e8e0baf9bdc","integrity":"sha256-a4SRUSBMZvpmHDCzTmKRmhO55mt803pPyJYujguvm9w="},"flags/4x3/ga-e3840f9d5bd6ee08db748d37a534500b837bee0f8ce65987b2f099a6afd2cc63.svg":{"logical_path":"flags/4x3/ga.svg","mtime":"2020-01-16T20:20:11+01:00","size":277,"digest":"e3840f9d5bd6ee08db748d37a534500b837bee0f8ce65987b2f099a6afd2cc63","integrity":"sha256-44QPnVvW7gjbdI03pTRQC4N77g+M5lmHsvCZpq/SzGM="},"flags/1x1/ga-9eafd5388042b3d2258ac6223075b726426210136b9851b637973105721b64d9.svg":{"logical_path":"flags/1x1/ga.svg","mtime":"2020-01-16T20:20:11+01:00","size":281,"digest":"9eafd5388042b3d2258ac6223075b726426210136b9851b637973105721b64d9","integrity":"sha256-nq/VOIBCs9IlisYiMHW3JkJiEBNrmFG2N5cxBXIbZNk="},"flags/4x3/gb-ce93c8a6b974d63998e263f6d25f898fc20580a28464457f2f4463b687e4fe8d.svg":{"logical_path":"flags/4x3/gb.svg","mtime":"2020-01-16T20:20:11+01:00","size":834,"digest":"ce93c8a6b974d63998e263f6d25f898fc20580a28464457f2f4463b687e4fe8d","integrity":"sha256-zpPIprl01jmY4mP20l+Jj8IFgKKEZEV/L0Rjtofk/o0="},"flags/1x1/gb-1d93e1ce2e2e10c1709e4dc50ac956c007b2c1a63a4bc22ddfd64354f79ad457.svg":{"logical_path":"flags/1x1/gb.svg","mtime":"2020-01-16T20:20:11+01:00","size":792,"digest":"1d93e1ce2e2e10c1709e4dc50ac956c007b2c1a63a4bc22ddfd64354f79ad457","integrity":"sha256-HZPhzi4uEMFwnk3FCslWwAeywaY6S8It39ZDVPea1Fc="},"flags/4x3/gd-7c3a6b6068bbd9a6abc98c2297dd4acd5e31022e5a4210fc0e1205ec28498fa2.svg":{"logical_path":"flags/4x3/gd.svg","mtime":"2020-01-16T20:20:11+01:00","size":1694,"digest":"7c3a6b6068bbd9a6abc98c2297dd4acd5e31022e5a4210fc0e1205ec28498fa2","integrity":"sha256-fDprYGi72aaryYwil91KzV4xAi5aQhD8DhIF7ChJj6I="},"flags/1x1/gd-2310bc03d9e8ddc8599b40891bfb10b812b07023881599a7e02e3028d1bc9ca8.svg":{"logical_path":"flags/1x1/gd.svg","mtime":"2020-01-16T20:20:11+01:00","size":1834,"digest":"2310bc03d9e8ddc8599b40891bfb10b812b07023881599a7e02e3028d1bc9ca8","integrity":"sha256-IxC8A9no3chZm0CJG/sQuBKwcCOIFZmn4C4wKNG8nKg="},"flags/4x3/ge-501c0135fb8c377dbd2859ff6290b47ef4907a8e2ab2ae1e39116b716db6795f.svg":{"logical_path":"flags/4x3/ge.svg","mtime":"2020-01-16T20:20:11+01:00","size":1400,"digest":"501c0135fb8c377dbd2859ff6290b47ef4907a8e2ab2ae1e39116b716db6795f","integrity":"sha256-UBwBNfuMN329KFn/YpC0fvSQeo4qsq4eORFrcW22eV8="},"flags/1x1/ge-ca9ee36883ec12048fbb7fbbfaf231c0d4848ae0b07dab74a46d53b7b34d8114.svg":{"logical_path":"flags/1x1/ge.svg","mtime":"2020-01-16T20:20:11+01:00","size":1544,"digest":"ca9ee36883ec12048fbb7fbbfaf231c0d4848ae0b07dab74a46d53b7b34d8114","integrity":"sha256-yp7jaIPsEgSPu3+7+vIxwNSEiuCwfat0pG1Tt7NNgRQ="},"flags/4x3/gf-7c165f90bfe6ac3674903632182221a992f017ff706354b1761002382e89c2c2.svg":{"logical_path":"flags/4x3/gf.svg","mtime":"2020-01-16T20:20:11+01:00","size":261,"digest":"7c165f90bfe6ac3674903632182221a992f017ff706354b1761002382e89c2c2","integrity":"sha256-fBZfkL/mrDZ0kDYyGCIhqZLwF/9wY1SxdhACOC6JwsI="},"flags/1x1/gf-8838337b15cdcf143fac16c714e8dbf2d893d2ea8f1c8ef06dadcb652dfec41c.svg":{"logical_path":"flags/1x1/gf.svg","mtime":"2020-01-16T20:20:11+01:00","size":264,"digest":"8838337b15cdcf143fac16c714e8dbf2d893d2ea8f1c8ef06dadcb652dfec41c","integrity":"sha256-iDgzexXNzxQ/rBbHFOjb8tiT0uqPHI7wba3LZS3+xBw="},"flags/4x3/gg-2c7bfc50d5bcd374b5f6107974d06af24e70edba31ad71a225e0c2ecc2d6e778.svg":{"logical_path":"flags/4x3/gg.svg","mtime":"2020-01-16T20:20:11+01:00","size":598,"digest":"2c7bfc50d5bcd374b5f6107974d06af24e70edba31ad71a225e0c2ecc2d6e778","integrity":"sha256-LHv8UNW803S19hB5dNBq8k5w7boxrXGiJeDC7MLW53g="},"flags/1x1/gg-509489b1792831bb27d6975c76aa0a2ac2fa2c3906bcf844f616de5e0fbbc359.svg":{"logical_path":"flags/1x1/gg.svg","mtime":"2020-01-16T20:20:11+01:00","size":628,"digest":"509489b1792831bb27d6975c76aa0a2ac2fa2c3906bcf844f616de5e0fbbc359","integrity":"sha256-UJSJsXkoMbsn1pdcdqoKKsL6LDkGvPhE9hbeXg+7w1k="},"flags/4x3/gh-79c187756e93df22fae571ad9419629c5247c016e32a74471e0d461048fdf5cf.svg":{"logical_path":"flags/4x3/gh.svg","mtime":"2020-01-16T20:20:11+01:00","size":286,"digest":"79c187756e93df22fae571ad9419629c5247c016e32a74471e0d461048fdf5cf","integrity":"sha256-ecGHdW6T3yL65XGtlBlinFJHwBbjKnRHHg1GEEj99c8="},"flags/1x1/gh-e7bf18e6337982ee31e3673ab93e722b3410b7a4c202656a4bc3887d8656286b.svg":{"logical_path":"flags/1x1/gh.svg","mtime":"2020-01-16T20:20:11+01:00","size":299,"digest":"e7bf18e6337982ee31e3673ab93e722b3410b7a4c202656a4bc3887d8656286b","integrity":"sha256-578Y5jN5gu4x42c6uT5yKzQQt6TCAmVqS8OIfYZWKGs="},"flags/4x3/gi-ed99b369c8c77e64abd59fab1f28155d71b4378b49625c66ab0ab6dff4f88087.svg":{"logical_path":"flags/4x3/gi.svg","mtime":"2020-01-16T20:20:11+01:00","size":2972,"digest":"ed99b369c8c77e64abd59fab1f28155d71b4378b49625c66ab0ab6dff4f88087","integrity":"sha256-7ZmzacjHfmSr1Z+rHygVXXG0N4tJYlxmqwq23/T4gIc="},"flags/1x1/gi-2e563e96e766e13c0a9c5a3a372059a44739bb696e853d71a6f6b08c491dfb9a.svg":{"logical_path":"flags/1x1/gi.svg","mtime":"2020-01-16T20:20:11+01:00","size":2964,"digest":"2e563e96e766e13c0a9c5a3a372059a44739bb696e853d71a6f6b08c491dfb9a","integrity":"sha256-LlY+ludm4TwKnFo6NyBZpEc5u2luhT1xpvawjEkd+5o="},"flags/4x3/gl-612e560dbad68d540be672b80e22c54db43d6e2070523e81c156ccd6b3fc4260.svg":{"logical_path":"flags/4x3/gl.svg","mtime":"2020-01-16T20:20:11+01:00","size":229,"digest":"612e560dbad68d540be672b80e22c54db43d6e2070523e81c156ccd6b3fc4260","integrity":"sha256-YS5WDbrWjVQL5nK4DiLFTbQ9biBwUj6BwVbM1rP8QmA="},"flags/1x1/gl-a9bb35d2b9ff27638658d9ad6b9e2c4f452072b9a80b508d32e76d37bf62cf6e.svg":{"logical_path":"flags/1x1/gl.svg","mtime":"2020-01-16T20:20:11+01:00","size":243,"digest":"a9bb35d2b9ff27638658d9ad6b9e2c4f452072b9a80b508d32e76d37bf62cf6e","integrity":"sha256-qbs10rn/J2OGWNmta54sT0UgcrmoC1CNMudtN79iz24="},"flags/4x3/gm-4a6f9670a41548cceaced2b728e4bc56acbc4a3ba5544e7a097f7dae7a8bb045.svg":{"logical_path":"flags/4x3/gm.svg","mtime":"2020-01-16T20:20:11+01:00","size":543,"digest":"4a6f9670a41548cceaced2b728e4bc56acbc4a3ba5544e7a097f7dae7a8bb045","integrity":"sha256-Sm+WcKQVSMzqztK3KOS8Vqy8SjulVE56CX99rnqLsEU="},"flags/1x1/gm-b67f9f6bce2f8c8700c198de8bfafac72d01b8a1e55b77f71e8cafdc58f8af5c.svg":{"logical_path":"flags/1x1/gm.svg","mtime":"2020-01-16T20:20:11+01:00","size":385,"digest":"b67f9f6bce2f8c8700c198de8bfafac72d01b8a1e55b77f71e8cafdc58f8af5c","integrity":"sha256-tn+fa84vjIcAwZjei/r6xy0BuKHlW3f3Hoyv3Fj4r1w="},"flags/4x3/gn-873b4eb52f34c7558bef93cfd1b82117b5c32c9fbc0610f8821ccd22f28abe28.svg":{"logical_path":"flags/4x3/gn.svg","mtime":"2020-01-16T20:20:11+01:00","size":298,"digest":"873b4eb52f34c7558bef93cfd1b82117b5c32c9fbc0610f8821ccd22f28abe28","integrity":"sha256-hztOtS80x1WL75PP0bghF7XDLJ+8BhD4ghzNIvKKvig="},"flags/1x1/gn-72f51dc30cf0ed5459ad0f239cf3043eac05ece75945bcaf4ea6653af868c504.svg":{"logical_path":"flags/1x1/gn.svg","mtime":"2020-01-16T20:20:11+01:00","size":298,"digest":"72f51dc30cf0ed5459ad0f239cf3043eac05ece75945bcaf4ea6653af868c504","integrity":"sha256-cvUdwwzw7VRZrQ8jnPMEPqwF7OdZRbyvTqZlOvhoxQQ="},"flags/4x3/gp-4559cad3eb2d173214161d16b0237c68f5c817749a39c862fa7b23dfb4aee923.svg":{"logical_path":"flags/4x3/gp.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"4559cad3eb2d173214161d16b0237c68f5c817749a39c862fa7b23dfb4aee923","integrity":"sha256-RVnK0+stFzIUFh0WsCN8aPXIF3SaOchi+nsj37Su6SM="},"flags/1x1/gp-d6669532054db5b7e441f4858c28920246a65ca3e8a15518c64c7bbb4f9c6416.svg":{"logical_path":"flags/1x1/gp.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"d6669532054db5b7e441f4858c28920246a65ca3e8a15518c64c7bbb4f9c6416","integrity":"sha256-1maVMgVNtbfkQfSFjCiSAkamXKPooVUYxkx7u0+cZBY="},"flags/4x3/gq-0c8dfe7f9543307056bbe6d6e44a16c17201228e5344d5afec1ccf1b9a5eb2f9.svg":{"logical_path":"flags/4x3/gq.svg","mtime":"2020-01-16T20:20:11+01:00","size":5188,"digest":"0c8dfe7f9543307056bbe6d6e44a16c17201228e5344d5afec1ccf1b9a5eb2f9","integrity":"sha256-DI3+f5VDMHBWu+bW5EoWwXIBIo5TRNWv7BzPG5pesvk="},"flags/1x1/gq-ecb761e6db59b9bf8ba37533eaf0c60b7fcc7c0dfa2fcf281ee84c970dcb10f8.svg":{"logical_path":"flags/1x1/gq.svg","mtime":"2020-01-16T20:20:11+01:00","size":5280,"digest":"ecb761e6db59b9bf8ba37533eaf0c60b7fcc7c0dfa2fcf281ee84c970dcb10f8","integrity":"sha256-7Ldh5ttZub+Lo3Uz6vDGC3/MfA36L88oHuhMlw3LEPg="},"flags/4x3/gr-4a4086310397bffa682d439be8650a9e28d94e32963b6411b61435292ac4cf80.svg":{"logical_path":"flags/4x3/gr.svg","mtime":"2020-01-16T20:20:11+01:00","size":818,"digest":"4a4086310397bffa682d439be8650a9e28d94e32963b6411b61435292ac4cf80","integrity":"sha256-SkCGMQOXv/poLUOb6GUKnijZTjKWO2QRthQ1KSrEz4A="},"flags/1x1/gr-0cbd171892c0568b055d3b6585d58ac13dd60dfbcfad16eda1f4f9ead11dd16f.svg":{"logical_path":"flags/1x1/gr.svg","mtime":"2020-01-16T20:20:11+01:00","size":875,"digest":"0cbd171892c0568b055d3b6585d58ac13dd60dfbcfad16eda1f4f9ead11dd16f","integrity":"sha256-DL0XGJLAVosFXTtlhdWKwT3WDfvPrRbtofT56tEd0W8="},"flags/4x3/gs-e45169a93a9e94c15f5cb765a6c863319171fb9b4dce56094411829cd688d486.svg":{"logical_path":"flags/4x3/gs.svg","mtime":"2020-01-16T20:20:11+01:00","size":34658,"digest":"e45169a93a9e94c15f5cb765a6c863319171fb9b4dce56094411829cd688d486","integrity":"sha256-5FFpqTqelMFfXLdlpshjMZFx+5tNzlYJRBGCnNaI1IY="},"flags/1x1/gs-3efc9e1b32961f9aa9d7faa2626e596282b63d049f6717c2378b28e3f508e79a.svg":{"logical_path":"flags/1x1/gs.svg","mtime":"2020-01-16T20:20:11+01:00","size":35151,"digest":"3efc9e1b32961f9aa9d7faa2626e596282b63d049f6717c2378b28e3f508e79a","integrity":"sha256-PvyeGzKWH5qp1/qiYm5ZYoK2PQSfZxfCN4so4/UI55o="},"flags/4x3/gt-64a7345cf66facf7f323d2142aebb4172191108a78ac7493b1a6077b78ac8ec5.svg":{"logical_path":"flags/4x3/gt.svg","mtime":"2020-01-16T20:20:11+01:00","size":37857,"digest":"64a7345cf66facf7f323d2142aebb4172191108a78ac7493b1a6077b78ac8ec5","integrity":"sha256-ZKc0XPZvrPfzI9IUKuu0FyGREIp4rHSTsaYHe3isjsU="},"flags/1x1/gt-436a2af3d95cf3cb13ded897f319cfd6e2c087d678ad0e971c198b0d2c029911.svg":{"logical_path":"flags/1x1/gt.svg","mtime":"2020-01-16T20:20:11+01:00","size":37857,"digest":"436a2af3d95cf3cb13ded897f319cfd6e2c087d678ad0e971c198b0d2c029911","integrity":"sha256-Q2oq89lc88sT3tiX8xnP1uLAh9Z4rQ6XHBmLDSwCmRE="},"flags/4x3/gu-f560822ee237e5277829e63613a615a2ee3d8cc6196dffffe0f0d56a49b11c53.svg":{"logical_path":"flags/4x3/gu.svg","mtime":"2020-01-16T20:20:11+01:00","size":4859,"digest":"f560822ee237e5277829e63613a615a2ee3d8cc6196dffffe0f0d56a49b11c53","integrity":"sha256-9WCCLuI35Sd4KeY2E6YVou49jMYZbf//4PDVakmxHFM="},"flags/1x1/gu-a71c9d290c66c1a0929b05436dc6a8229b1147d7cc62336e04c9adf697030450.svg":{"logical_path":"flags/1x1/gu.svg","mtime":"2020-01-16T20:20:11+01:00","size":4644,"digest":"a71c9d290c66c1a0929b05436dc6a8229b1147d7cc62336e04c9adf697030450","integrity":"sha256-pxydKQxmwaCSmwVDbcaoIpsRR9fMYjNuBMmt9pcDBFA="},"flags/4x3/gw-0dc9ec17735ed605b68672947ce55c49a4ec1551491ccd121f482c1875cdf219.svg":{"logical_path":"flags/4x3/gw.svg","mtime":"2020-01-16T20:20:11+01:00","size":816,"digest":"0dc9ec17735ed605b68672947ce55c49a4ec1551491ccd121f482c1875cdf219","integrity":"sha256-DcnsF3Ne1gW2hnKUfOVcSaTsFVFJHM0SH0gsGHXN8hk="},"flags/1x1/gw-7868c305e4a64b0d8ebfd3f7cb8c881841d71a7e0c3ead2683fe503c80de0674.svg":{"logical_path":"flags/1x1/gw.svg","mtime":"2020-01-16T20:20:11+01:00","size":892,"digest":"7868c305e4a64b0d8ebfd3f7cb8c881841d71a7e0c3ead2683fe503c80de0674","integrity":"sha256-eGjDBeSmSw2Ov9P3y4yIGEHXGn4MPq0mg/5QPIDeBnQ="},"flags/4x3/gy-c9126e544c62508abfb898f0af0bd79c46f4c767c9ed6f928418a24b0f246d85.svg":{"logical_path":"flags/4x3/gy.svg","mtime":"2020-01-16T20:20:11+01:00","size":491,"digest":"c9126e544c62508abfb898f0af0bd79c46f4c767c9ed6f928418a24b0f246d85","integrity":"sha256-yRJuVExiUIq/uJjwrwvXnEb0x2fJ7W+ShBiiSw8kbYU="},"flags/1x1/gy-0e3b849ce460f8ab1ec7cf66a25be1ba91e89b72d8b0aa679a0553464f37a972.svg":{"logical_path":"flags/1x1/gy.svg","mtime":"2020-01-16T20:20:11+01:00","size":484,"digest":"0e3b849ce460f8ab1ec7cf66a25be1ba91e89b72d8b0aa679a0553464f37a972","integrity":"sha256-DjuEnORg+Ksex89molvhupHom3LYsKpnmgVTRk83qXI="},"flags/4x3/hk-cece9126ccbf9151feadfed75791ebf32d4a16beab12f182404519d0cc24eec7.svg":{"logical_path":"flags/4x3/hk.svg","mtime":"2020-01-16T20:20:11+01:00","size":3511,"digest":"cece9126ccbf9151feadfed75791ebf32d4a16beab12f182404519d0cc24eec7","integrity":"sha256-zs6RJsy/kVH+rf7XV5Hr8y1KFr6rEvGCQEUZ0Mwk7sc="},"flags/1x1/hk-9fad00e06f9034877149394914baa2bc3292223b0e32df2b1f9399d4de6e167d.svg":{"logical_path":"flags/1x1/hk.svg","mtime":"2020-01-16T20:20:11+01:00","size":3561,"digest":"9fad00e06f9034877149394914baa2bc3292223b0e32df2b1f9399d4de6e167d","integrity":"sha256-n60A4G+QNIdxSTlJFLqivDKSIjsOMt8rH5OZ1N5uFn0="},"flags/4x3/hm-4b4923b81da24d62ebf31a9bc0addf76beef84593374b1cbd03ba19f3b12e3e9.svg":{"logical_path":"flags/4x3/hm.svg","mtime":"2020-01-16T20:20:11+01:00","size":1328,"digest":"4b4923b81da24d62ebf31a9bc0addf76beef84593374b1cbd03ba19f3b12e3e9","integrity":"sha256-S0kjuB2iTWLr8xqbwK3fdr7vhFkzdLHL0DuhnzsS4+k="},"flags/1x1/hm-776c822113a22e83581234d05f40bfc0ed38b60648d87f513f3da3fff96ffb61.svg":{"logical_path":"flags/1x1/hm.svg","mtime":"2020-01-16T20:20:11+01:00","size":1312,"digest":"776c822113a22e83581234d05f40bfc0ed38b60648d87f513f3da3fff96ffb61","integrity":"sha256-d2yCIROiLoNYEjTQX0C/wO04tgZI2H9RPz2j//lv+2E="},"flags/4x3/hn-855c830786283862a5f399e0d69dffe52b6223b91b32e31b55d55c82f2fa32c9.svg":{"logical_path":"flags/4x3/hn.svg","mtime":"2020-01-16T20:20:11+01:00","size":1115,"digest":"855c830786283862a5f399e0d69dffe52b6223b91b32e31b55d55c82f2fa32c9","integrity":"sha256-hVyDB4YoOGKl85ng1p3/5StiI7kbMuMbVdVcgvL6Msk="},"flags/1x1/hn-64c38bac9403417c4e276bf5536d284fc5410fc04b80acd39a961d298f430dbd.svg":{"logical_path":"flags/1x1/hn.svg","mtime":"2020-01-16T20:20:11+01:00","size":1119,"digest":"64c38bac9403417c4e276bf5536d284fc5410fc04b80acd39a961d298f430dbd","integrity":"sha256-ZMOLrJQDQXxOJ2v1U20oT8VBD8BLgKzTmpYdKY9DDb0="},"flags/4x3/hr-c8cad861f7398a22b9d27ea682d2778df0dde8e146d30142b5294daf988854af.svg":{"logical_path":"flags/4x3/hr.svg","mtime":"2020-01-16T20:20:11+01:00","size":41617,"digest":"c8cad861f7398a22b9d27ea682d2778df0dde8e146d30142b5294daf988854af","integrity":"sha256-yMrYYfc5iiK50n6mgtJ3jfDd6OFG0wFCtSlNr5iIVK8="},"flags/1x1/hr-60c093df6760e4cc6abe26c37a52be3b51458f02712f18e11f08b07dc623b489.svg":{"logical_path":"flags/1x1/hr.svg","mtime":"2020-01-16T20:20:11+01:00","size":41808,"digest":"60c093df6760e4cc6abe26c37a52be3b51458f02712f18e11f08b07dc623b489","integrity":"sha256-YMCT32dg5MxqvibDelK+O1FFjwJxLxjhHwiwfcYjtIk="},"flags/4x3/ht-fe81da06228fa36e7f211bec0d9f0c020f5b9c7f81534b4cb2251848aa276b16.svg":{"logical_path":"flags/4x3/ht.svg","mtime":"2020-01-16T20:20:11+01:00","size":15231,"digest":"fe81da06228fa36e7f211bec0d9f0c020f5b9c7f81534b4cb2251848aa276b16","integrity":"sha256-/oHaBiKPo25/IRvsDZ8MAg9bnH+BU0tMsiUYSKonaxY="},"flags/1x1/ht-dd0197c078859c5a66ff3a51d3a3f92809768e36bfabdec0fc0ab60d068afcd9.svg":{"logical_path":"flags/1x1/ht.svg","mtime":"2020-01-16T20:20:11+01:00","size":15317,"digest":"dd0197c078859c5a66ff3a51d3a3f92809768e36bfabdec0fc0ab60d068afcd9","integrity":"sha256-3QGXwHiFnFpm/zpR06P5KAl2jja/q97A/Aq2DQaK/Nk="},"flags/4x3/hu-9aa998e636687aede491e307f3d068dbe58f2d90bfdfaec0e7ad03baa5b36344.svg":{"logical_path":"flags/4x3/hu.svg","mtime":"2020-01-16T20:20:11+01:00","size":277,"digest":"9aa998e636687aede491e307f3d068dbe58f2d90bfdfaec0e7ad03baa5b36344","integrity":"sha256-mqmY5jZoeu3kkeMH89Bo2+WPLZC/367A560DuqWzY0Q="},"flags/1x1/hu-06858d0fbd4320496e849010e35c8fe82eb618188cf6ec329aef93f5e7af1c23.svg":{"logical_path":"flags/1x1/hu.svg","mtime":"2020-01-16T20:20:11+01:00","size":279,"digest":"06858d0fbd4320496e849010e35c8fe82eb618188cf6ec329aef93f5e7af1c23","integrity":"sha256-BoWND71DIEluhJAQ41yP6C62GBiM9uwymu+T9eevHCM="},"flags/4x3/id-775dbfedd6533afdf5bd017ccc1ad4f8f4238cbe87393d9c837a669196f17293.svg":{"logical_path":"flags/4x3/id.svg","mtime":"2020-01-16T20:20:11+01:00","size":240,"digest":"775dbfedd6533afdf5bd017ccc1ad4f8f4238cbe87393d9c837a669196f17293","integrity":"sha256-d12/7dZTOv31vQF8zBrU+PQjjL6HOT2cg3pmkZbxcpM="},"flags/1x1/id-3920ce662a7ea937b2c11707d8e1f53db52611dd004edf753b0389ed490d9d29.svg":{"logical_path":"flags/1x1/id.svg","mtime":"2020-01-16T20:20:11+01:00","size":242,"digest":"3920ce662a7ea937b2c11707d8e1f53db52611dd004edf753b0389ed490d9d29","integrity":"sha256-OSDOZip+qTeywRcH2OH1PbUmEd0ATt91OwOJ7UkNnSk="},"flags/4x3/ie-6368a1c92440fcf80d3c35607543bcaa2d4662d6e0bc7acf6749ddbc418a72c0.svg":{"logical_path":"flags/4x3/ie.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"6368a1c92440fcf80d3c35607543bcaa2d4662d6e0bc7acf6749ddbc418a72c0","integrity":"sha256-Y2ihySRA/PgNPDVgdUO8qi1GYtbgvHrPZ0ndvEGKcsA="},"flags/1x1/ie-1997e9de640fa764677aa8f5d52f7888bb24a029160e8f67b06dbd043b4f11b3.svg":{"logical_path":"flags/1x1/ie.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"1997e9de640fa764677aa8f5d52f7888bb24a029160e8f67b06dbd043b4f11b3","integrity":"sha256-GZfp3mQPp2Rneqj11S94iLskoCkWDo9nsG29BDtPEbM="},"flags/4x3/il-d76883a2330f9a05a4a64990ba955fc1be90bb46bcb19ae548c21816e7e74178.svg":{"logical_path":"flags/4x3/il.svg","mtime":"2020-01-16T20:20:11+01:00","size":898,"digest":"d76883a2330f9a05a4a64990ba955fc1be90bb46bcb19ae548c21816e7e74178","integrity":"sha256-12iDojMPmgWkpkmQupVfwb6Qu0a8sZrlSMIYFufnQXg="},"flags/1x1/il-f5e643d0e10169a438119dc441ea3100b52a2ff569bbb3a3ad6d1131b47602d8.svg":{"logical_path":"flags/1x1/il.svg","mtime":"2020-01-16T20:20:11+01:00","size":851,"digest":"f5e643d0e10169a438119dc441ea3100b52a2ff569bbb3a3ad6d1131b47602d8","integrity":"sha256-9eZD0OEBaaQ4EZ3EQeoxALUqL/Vpu7OjrW0RMbR2Atg="},"flags/4x3/im-bbae8aa9dd129f8446556afe4904194ad43377d882f9a705fcf1da2bdbfabccf.svg":{"logical_path":"flags/4x3/im.svg","mtime":"2020-01-16T20:20:11+01:00","size":9948,"digest":"bbae8aa9dd129f8446556afe4904194ad43377d882f9a705fcf1da2bdbfabccf","integrity":"sha256-u66Kqd0Sn4RGVWr+SQQZStQzd9iC+acF/PHaK9v6vM8="},"flags/1x1/im-767d72c2e72d732d65c9b016adad983778dfbbb2b5b52e71830f4e41297728d3.svg":{"logical_path":"flags/1x1/im.svg","mtime":"2020-01-16T20:20:11+01:00","size":10295,"digest":"767d72c2e72d732d65c9b016adad983778dfbbb2b5b52e71830f4e41297728d3","integrity":"sha256-dn1ywuctcy1lybAWra2YN3jfu7K1tS5xgw9OQSl3KNM="},"flags/4x3/in-519e33321b8b2ba70a0b7557d66c62d7efdc9723896c49f82528b107028ffe29.svg":{"logical_path":"flags/4x3/in.svg","mtime":"2020-01-16T20:20:11+01:00","size":1077,"digest":"519e33321b8b2ba70a0b7557d66c62d7efdc9723896c49f82528b107028ffe29","integrity":"sha256-UZ4zMhuLK6cKC3VX1mxi1+/clyOJbEn4JSixBwKP/ik="},"flags/1x1/in-27831f76dc6a218a529b6e5d0eafc4c19c999461327b7c013f59226c0601a361.svg":{"logical_path":"flags/1x1/in.svg","mtime":"2020-01-16T20:20:11+01:00","size":1091,"digest":"27831f76dc6a218a529b6e5d0eafc4c19c999461327b7c013f59226c0601a361","integrity":"sha256-J4MfdtxqIYpSm25dDq/EwZyZlGEye3wBP1kibAYBo2E="},"flags/4x3/io-8d25a8e98f682199b413adfbcb6898c37058c9bae085e427fbab03d56e8c0de6.svg":{"logical_path":"flags/4x3/io.svg","mtime":"2020-01-16T20:20:11+01:00","size":27446,"digest":"8d25a8e98f682199b413adfbcb6898c37058c9bae085e427fbab03d56e8c0de6","integrity":"sha256-jSWo6Y9oIZm0E637y2iYw3BYybrgheQn+6sD1W6MDeY="},"flags/1x1/io-627f3b0cef72fd91ff426d74a007dc32d74c9fe677cf2c8355cba84359e16fde.svg":{"logical_path":"flags/1x1/io.svg","mtime":"2020-01-16T20:20:11+01:00","size":27497,"digest":"627f3b0cef72fd91ff426d74a007dc32d74c9fe677cf2c8355cba84359e16fde","integrity":"sha256-Yn87DO9y/ZH/Qm10oAfcMtdMn+Z3zyyDVcuoQ1nhb94="},"flags/4x3/iq-96b24d1439184d0a4c35ca7cea65e5f20469a0e8c8438963aad016e59c399cc6.svg":{"logical_path":"flags/4x3/iq.svg","mtime":"2020-01-16T20:20:11+01:00","size":1479,"digest":"96b24d1439184d0a4c35ca7cea65e5f20469a0e8c8438963aad016e59c399cc6","integrity":"sha256-lrJNFDkYTQpMNcp86mXl8gRpoOjIQ4ljqtAW5Zw5nMY="},"flags/1x1/iq-af04db139f8c44cfe0c612e2c05e848ccfad88fbbfcb58e88cdb7c80db365669.svg":{"logical_path":"flags/1x1/iq.svg","mtime":"2020-01-16T20:20:11+01:00","size":1484,"digest":"af04db139f8c44cfe0c612e2c05e848ccfad88fbbfcb58e88cdb7c80db365669","integrity":"sha256-rwTbE5+MRM/gxhLiwF6EjM+tiPu/y1jojNt8gNs2Vmk="},"flags/4x3/ir-db2c230d355ade2b1ac235ec647bb1535e4703c639a44f9ce112473272ee1019.svg":{"logical_path":"flags/4x3/ir.svg","mtime":"2020-01-16T20:20:11+01:00","size":15484,"digest":"db2c230d355ade2b1ac235ec647bb1535e4703c639a44f9ce112473272ee1019","integrity":"sha256-2ywjDTVa3isawjXsZHuxU15HA8Y5pE+c4RJHMnLuEBk="},"flags/1x1/ir-c648cbf56fc8f324fda477ea816783c9df8a7d398f45f5f94acc1c16c8877b63.svg":{"logical_path":"flags/1x1/ir.svg","mtime":"2020-01-16T20:20:11+01:00","size":15387,"digest":"c648cbf56fc8f324fda477ea816783c9df8a7d398f45f5f94acc1c16c8877b63","integrity":"sha256-xkjL9W/I8yT9pHfqgWeDyd+KfTmPRfX5SswcFsiHe2M="},"flags/4x3/is-29508693138977229758b0f322ba34e90dbcd7a8a74e8820729933d24051d9a7.svg":{"logical_path":"flags/4x3/is.svg","mtime":"2020-01-16T20:20:11+01:00","size":521,"digest":"29508693138977229758b0f322ba34e90dbcd7a8a74e8820729933d24051d9a7","integrity":"sha256-KVCGkxOJdyKXWLDzIro06Q2816inToggcpkz0kBR2ac="},"flags/1x1/is-b1c5db1d4b4853b8144f1d88ababbf14fc88752340457ba3e2c94ab5d54c9c01.svg":{"logical_path":"flags/1x1/is.svg","mtime":"2020-01-16T20:20:11+01:00","size":529,"digest":"b1c5db1d4b4853b8144f1d88ababbf14fc88752340457ba3e2c94ab5d54c9c01","integrity":"sha256-scXbHUtIU7gUTx2Iq6u/FPyIdSNARXuj4slKtdVMnAE="},"flags/4x3/it-d2c168050fc509adac1163b097b0ed409217560735b27802ae9259587c146562.svg":{"logical_path":"flags/4x3/it.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"d2c168050fc509adac1163b097b0ed409217560735b27802ae9259587c146562","integrity":"sha256-0sFoBQ/FCa2sEWOwl7DtQJIXVgc1sngCrpJZWHwUZWI="},"flags/1x1/it-592d34fb666430fa00f98d333623d5efa3c8e0e65ac4eee06bbc4c1de7ce4bea.svg":{"logical_path":"flags/1x1/it.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"592d34fb666430fa00f98d333623d5efa3c8e0e65ac4eee06bbc4c1de7ce4bea","integrity":"sha256-WS00+2ZkMPoA+Y0zNiPV76PI4OZaxO7ga7xMHefOS+o="},"flags/4x3/je-b363a4e3a21630f10791c2ebeb7f918320816ef87c155d4fd29ce37982f4df35.svg":{"logical_path":"flags/4x3/je.svg","mtime":"2020-01-16T20:20:11+01:00","size":4776,"digest":"b363a4e3a21630f10791c2ebeb7f918320816ef87c155d4fd29ce37982f4df35","integrity":"sha256-s2Ok46IWMPEHkcLr63+RgyCBbvh8FV1P0pzjeYL03zU="},"flags/1x1/je-6d43f74e30e099bc056da925ec34c0200708f0a6e90da34db1e59d54ce10cfd9.svg":{"logical_path":"flags/1x1/je.svg","mtime":"2020-01-16T20:20:11+01:00","size":4757,"digest":"6d43f74e30e099bc056da925ec34c0200708f0a6e90da34db1e59d54ce10cfd9","integrity":"sha256-bUP3TjDgmbwFbakl7DTAIAcI8KbpDaNNseWdVM4Qz9k="},"flags/4x3/jm-3d133fbc2564f29e036855e8be224d1579fe66fe49e0f5a2ba0bdcf3cb272823.svg":{"logical_path":"flags/4x3/jm.svg","mtime":"2020-01-16T20:20:11+01:00","size":392,"digest":"3d133fbc2564f29e036855e8be224d1579fe66fe49e0f5a2ba0bdcf3cb272823","integrity":"sha256-PRM/vCVk8p4DaFXoviJNFXn+Zv5J4PWiugvc88snKCM="},"flags/1x1/jm-1aea8ea5d8cbc717fa3ef331d8caa9a1421c88a7bd076e40f8276a5b6f8d0467.svg":{"logical_path":"flags/1x1/jm.svg","mtime":"2020-01-16T20:20:11+01:00","size":392,"digest":"1aea8ea5d8cbc717fa3ef331d8caa9a1421c88a7bd076e40f8276a5b6f8d0467","integrity":"sha256-GuqOpdjLxxf6PvMx2MqpoUIciKe9B25A+CdqW2+NBGc="},"flags/4x3/jo-eee432339f8ea6750987e1121187eb4b53ec537dd7ccb240c018de63f7a92db6.svg":{"logical_path":"flags/4x3/jo.svg","mtime":"2020-01-16T20:20:11+01:00","size":717,"digest":"eee432339f8ea6750987e1121187eb4b53ec537dd7ccb240c018de63f7a92db6","integrity":"sha256-7uQyM5+OpnUJh+ESEYfrS1PsU33XzLJAwBjeY/epLbY="},"flags/1x1/jo-7969b2083c535c85b7e714b755459a6606940e0b5ddb1b71e24daf0a180d14aa.svg":{"logical_path":"flags/1x1/jo.svg","mtime":"2020-01-16T20:20:11+01:00","size":694,"digest":"7969b2083c535c85b7e714b755459a6606940e0b5ddb1b71e24daf0a180d14aa","integrity":"sha256-eWmyCDxTXIW35xS3VUWaZgaUDgtd2xtx4k2vChgNFKo="},"flags/4x3/jp-2eadcfc67ba8cd50c1da86e08e6778e0102c3072865dab8c312cc88006da0abe.svg":{"logical_path":"flags/4x3/jp.svg","mtime":"2020-01-16T20:20:11+01:00","size":484,"digest":"2eadcfc67ba8cd50c1da86e08e6778e0102c3072865dab8c312cc88006da0abe","integrity":"sha256-Lq3PxnuozVDB2obgjmd44BAsMHKGXauMMSzIgAbaCr4="},"flags/1x1/jp-551281a75e6c6fd64eb65b39f56102b52c182f6c38ee045c9422f6592f0f65c5.svg":{"logical_path":"flags/1x1/jp.svg","mtime":"2020-01-16T20:20:11+01:00","size":500,"digest":"551281a75e6c6fd64eb65b39f56102b52c182f6c38ee045c9422f6592f0f65c5","integrity":"sha256-VRKBp15sb9ZOtls59WECtSwYL2w47gRclCL2WS8PZcU="},"flags/4x3/ke-45790bc3ec1ed8ed0124777a7c9e09163353b5af4ff70ae6604a61b53712df4b.svg":{"logical_path":"flags/4x3/ke.svg","mtime":"2020-01-16T20:20:11+01:00","size":1383,"digest":"45790bc3ec1ed8ed0124777a7c9e09163353b5af4ff70ae6604a61b53712df4b","integrity":"sha256-RXkLw+we2O0BJHd6fJ4JFjNTta9P9wrmYEphtTcS30s="},"flags/1x1/ke-2cca24ecf024b801543c0572efc9969ffdaf25cec313e2149c64961839bc301b.svg":{"logical_path":"flags/1x1/ke.svg","mtime":"2020-01-16T20:20:11+01:00","size":1495,"digest":"2cca24ecf024b801543c0572efc9969ffdaf25cec313e2149c64961839bc301b","integrity":"sha256-LMok7PAkuAFUPAVy78mWn/2vJc7DE+IUnGSWGDm8MBs="},"flags/4x3/kg-3879f8931d74cc9c5927261f4095b2bb786f3d62c803b2a96ec550a23fae9f49.svg":{"logical_path":"flags/4x3/kg.svg","mtime":"2020-01-16T20:20:11+01:00","size":3387,"digest":"3879f8931d74cc9c5927261f4095b2bb786f3d62c803b2a96ec550a23fae9f49","integrity":"sha256-OHn4kx10zJxZJyYfQJWyu3hvPWLIA7KpbsVQoj+un0k="},"flags/1x1/kg-74318932808f85b72df308358f2f2699ab0cb7ab4f7ad3c84c4be4024f0fb140.svg":{"logical_path":"flags/1x1/kg.svg","mtime":"2020-01-16T20:20:11+01:00","size":3337,"digest":"74318932808f85b72df308358f2f2699ab0cb7ab4f7ad3c84c4be4024f0fb140","integrity":"sha256-dDGJMoCPhbct8wg1jy8mmasMt6tPetPITEvkAk8PsUA="},"flags/4x3/kh-7409fab4ba4e676db7b5c61020b97893b1735fe0b8e39e9b4f96108400be704e.svg":{"logical_path":"flags/4x3/kh.svg","mtime":"2020-01-16T20:20:11+01:00","size":7295,"digest":"7409fab4ba4e676db7b5c61020b97893b1735fe0b8e39e9b4f96108400be704e","integrity":"sha256-dAn6tLpOZ223tcYQILl4k7FzX+C4456bT5YQhAC+cE4="},"flags/1x1/kh-2603f6a61b400cb12b87397eeba60ae1707511467d5e0c430c05809bf89e5042.svg":{"logical_path":"flags/1x1/kh.svg","mtime":"2020-01-16T20:20:11+01:00","size":7296,"digest":"2603f6a61b400cb12b87397eeba60ae1707511467d5e0c430c05809bf89e5042","integrity":"sha256-JgP2phtADLErhzl+66YK4XB1EUZ9XgxDDAWAm/ieUEI="},"flags/4x3/ki-617c1b52f3d9aee99d094edbd1775cae77aade266a1318eb4671b2bb1620ded5.svg":{"logical_path":"flags/4x3/ki.svg","mtime":"2020-01-16T20:20:11+01:00","size":5818,"digest":"617c1b52f3d9aee99d094edbd1775cae77aade266a1318eb4671b2bb1620ded5","integrity":"sha256-YXwbUvPZrumdCU7b0Xdcrneq3iZqExjrRnGyuxYg3tU="},"flags/1x1/ki-74615266b440a24f09abdeae3853d7e1111f0eba77df71ccd176d83fbd1fd9ad.svg":{"logical_path":"flags/1x1/ki.svg","mtime":"2020-01-16T20:20:11+01:00","size":5955,"digest":"74615266b440a24f09abdeae3853d7e1111f0eba77df71ccd176d83fbd1fd9ad","integrity":"sha256-dGFSZrRAok8Jq96uOFPX4REfDrp333HM0XbYP70f2a0="},"flags/4x3/km-0c9bcbf7e677a541fc8dff6f848c9d92b6982ac2934ae75faa56a2b846bb5698.svg":{"logical_path":"flags/4x3/km.svg","mtime":"2020-01-16T20:20:11+01:00","size":1061,"digest":"0c9bcbf7e677a541fc8dff6f848c9d92b6982ac2934ae75faa56a2b846bb5698","integrity":"sha256-DJvL9+Z3pUH8jf9vhIydkraYKsKTSudfqlaiuEa7Vpg="},"flags/1x1/km-81b0fbe53d09194270e8ed4cbe9be8eb1ae727e77957005369ad8bdc651dd1c8.svg":{"logical_path":"flags/1x1/km.svg","mtime":"2020-01-16T20:20:11+01:00","size":1044,"digest":"81b0fbe53d09194270e8ed4cbe9be8eb1ae727e77957005369ad8bdc651dd1c8","integrity":"sha256-gbD75T0JGUJw6O1Mvpvo6xrnJ+d5VwBTaa2L3GUd0cg="},"flags/4x3/kn-0442f55f81cd3b1057c609301f0af2b503d89a895a954af8c970df997e92bd03.svg":{"logical_path":"flags/4x3/kn.svg","mtime":"2020-01-16T20:20:11+01:00","size":816,"digest":"0442f55f81cd3b1057c609301f0af2b503d89a895a954af8c970df997e92bd03","integrity":"sha256-BEL1X4HNOxBXxgkwHwrytQPYmolalUr4yXDfmX6SvQM="},"flags/1x1/kn-897c34ef54bee486f0d24d2191e2400f49a19d98efb19f8c3f1a27fb0b97131a.svg":{"logical_path":"flags/1x1/kn.svg","mtime":"2020-01-16T20:20:11+01:00","size":820,"digest":"897c34ef54bee486f0d24d2191e2400f49a19d98efb19f8c3f1a27fb0b97131a","integrity":"sha256-iXw071S+5Ibw0k0hkeJAD0mhnZjvsZ+MPxon+wuXExo="},"flags/4x3/kp-a54f7201982b29530381b71a5e2a11c1153860f22c04c0a2d91bb0d20fedf78e.svg":{"logical_path":"flags/4x3/kp.svg","mtime":"2020-01-16T20:20:11+01:00","size":792,"digest":"a54f7201982b29530381b71a5e2a11c1153860f22c04c0a2d91bb0d20fedf78e","integrity":"sha256-pU9yAZgrKVMDgbcaXioRwRU4YPIsBMCi2Ruw0g/t944="},"flags/1x1/kp-758eccd89ef3707808fb68d931f086e49333904f4cc67c88468f3c96fb43b7b6.svg":{"logical_path":"flags/1x1/kp.svg","mtime":"2020-01-16T20:20:11+01:00","size":855,"digest":"758eccd89ef3707808fb68d931f086e49333904f4cc67c88468f3c96fb43b7b6","integrity":"sha256-dY7M2J7zcHgI+2jZMfCG5JMzkE9MxnyIRo88lvtDt7Y="},"flags/4x3/kr-c0b9b2c854133410c0ad9cadbc10b1e0bacf0305519883126d55bfa3214f9d06.svg":{"logical_path":"flags/4x3/kr.svg","mtime":"2020-01-16T20:20:11+01:00","size":1827,"digest":"c0b9b2c854133410c0ad9cadbc10b1e0bacf0305519883126d55bfa3214f9d06","integrity":"sha256-wLmyyFQTNBDArZytvBCx4LrPAwVRmIMSbVW/oyFPnQY="},"flags/1x1/kr-7c0457ac5d284b28b742ea2e061a1aa2a35f63171e464b3a7eb501a48756ce7b.svg":{"logical_path":"flags/1x1/kr.svg","mtime":"2020-01-16T20:20:11+01:00","size":1733,"digest":"7c0457ac5d284b28b742ea2e061a1aa2a35f63171e464b3a7eb501a48756ce7b","integrity":"sha256-fARXrF0oSyi3QuouBhoaoqNfYxceRks6frUBpIdWzns="},"flags/4x3/kw-81c3d5d25c7b840ef14783b51d18c6b7cfc61f94932c664bbc9e5879fef020eb.svg":{"logical_path":"flags/4x3/kw.svg","mtime":"2020-01-16T20:20:11+01:00","size":506,"digest":"81c3d5d25c7b840ef14783b51d18c6b7cfc61f94932c664bbc9e5879fef020eb","integrity":"sha256-gcPV0lx7hA7xR4O1HRjGt8/GH5STLGZLvJ5Yef7wIOs="},"flags/1x1/kw-66670211a67a4e61d4652a19d821dc5195f01a28a3a9b28b7e4c6048cd86b19c.svg":{"logical_path":"flags/1x1/kw.svg","mtime":"2020-01-16T20:20:11+01:00","size":510,"digest":"66670211a67a4e61d4652a19d821dc5195f01a28a3a9b28b7e4c6048cd86b19c","integrity":"sha256-ZmcCEaZ6TmHUZSoZ2CHcUZXwGiijqbKLfkxgSM2GsZw="},"flags/4x3/ky-0f4ab66d951ae33f800d680aaa5704804ba9c8844d4d80e5bee2e3fa0e100af3.svg":{"logical_path":"flags/4x3/ky.svg","mtime":"2020-01-16T20:20:11+01:00","size":21886,"digest":"0f4ab66d951ae33f800d680aaa5704804ba9c8844d4d80e5bee2e3fa0e100af3","integrity":"sha256-D0q2bZUa4z+ADWgKqlcEgEupyIRNTYDlvuLj+g4QCvM="},"flags/1x1/ky-fb5f57bb58b74d23377bad9954a75ab88d1587af68546ce137a6ae7a88a7701e.svg":{"logical_path":"flags/1x1/ky.svg","mtime":"2020-01-16T20:20:11+01:00","size":22495,"digest":"fb5f57bb58b74d23377bad9954a75ab88d1587af68546ce137a6ae7a88a7701e","integrity":"sha256-+19Xu1i3TSM3e62ZVKdauI0Vh69oVGzhN6aueoincB4="},"flags/4x3/kz-39edc952c598c71be2c9510944a8faf708d8e4b367b5ad78a688d1cd37f522eb.svg":{"logical_path":"flags/4x3/kz.svg","mtime":"2020-01-16T20:20:11+01:00","size":11339,"digest":"39edc952c598c71be2c9510944a8faf708d8e4b367b5ad78a688d1cd37f522eb","integrity":"sha256-Oe3JUsWYxxviyVEJRKj69wjY5LNnta14pojRzTf1Ius="},"flags/1x1/kz-924c04dc19267b049f35213af0e2b0c540933c06389433cb4aacd8dda33b286c.svg":{"logical_path":"flags/1x1/kz.svg","mtime":"2020-01-16T20:20:11+01:00","size":11433,"digest":"924c04dc19267b049f35213af0e2b0c540933c06389433cb4aacd8dda33b286c","integrity":"sha256-kkwE3BkmewSfNSE68OKwxUCTPAY4lDPLSqzY3aM7KGw="},"flags/4x3/la-e3a36a3bd0003442c3a21d3a192995fa6fb3b3c08a2daadc8f38f62736b5b1e3.svg":{"logical_path":"flags/4x3/la.svg","mtime":"2020-01-16T20:20:11+01:00","size":457,"digest":"e3a36a3bd0003442c3a21d3a192995fa6fb3b3c08a2daadc8f38f62736b5b1e3","integrity":"sha256-46NqO9AANELDoh06GSmV+m+zs8CKLarcjzj2Jza1seM="},"flags/1x1/la-c9d4223a897e5e2938a4892bbc593d3828093b9439fc3f6de21520e4013ddbc5.svg":{"logical_path":"flags/1x1/la.svg","mtime":"2020-01-16T20:20:11+01:00","size":507,"digest":"c9d4223a897e5e2938a4892bbc593d3828093b9439fc3f6de21520e4013ddbc5","integrity":"sha256-ydQiOol+Xik4pIkrvFk9OCgJO5Q5/D9t4hUg5AE928U="},"flags/4x3/lb-508c2a5a9b50d604895675b9f1c1e5914c394a7f468f5d823eb0476acaacbc7f.svg":{"logical_path":"flags/4x3/lb.svg","mtime":"2020-01-16T20:20:11+01:00","size":2814,"digest":"508c2a5a9b50d604895675b9f1c1e5914c394a7f468f5d823eb0476acaacbc7f","integrity":"sha256-UIwqWptQ1gSJVnW58cHlkUw5Sn9Gj12CPrBHasqsvH8="},"flags/1x1/lb-10c9ba8ea7aa3189f16a7273c837982a887fc4ddfc9d514d8f5a660d72356f7f.svg":{"logical_path":"flags/1x1/lb.svg","mtime":"2020-01-16T20:20:11+01:00","size":2754,"digest":"10c9ba8ea7aa3189f16a7273c837982a887fc4ddfc9d514d8f5a660d72356f7f","integrity":"sha256-EMm6jqeqMYnxanJzyDeYKoh/xN38nVFNj1pmDXI1b38="},"flags/4x3/lc-04ccd92fb1578654181febaea30ebd6b6620f56115730b2a2d673c712307bf5c.svg":{"logical_path":"flags/4x3/lc.svg","mtime":"2020-01-16T20:20:11+01:00","size":373,"digest":"04ccd92fb1578654181febaea30ebd6b6620f56115730b2a2d673c712307bf5c","integrity":"sha256-BMzZL7FXhlQYH+uuow69a2Yg9WEVcwsqLWc8cSMHv1w="},"flags/1x1/lc-4ffb53afb8bd296d526ac26fd8007afc74855e92833a893d3c934a5d12eb152a.svg":{"logical_path":"flags/1x1/lc.svg","mtime":"2020-01-16T20:20:11+01:00","size":373,"digest":"4ffb53afb8bd296d526ac26fd8007afc74855e92833a893d3c934a5d12eb152a","integrity":"sha256-T/tTr7i9KW1SasJv2AB6/HSFXpKDOok9PJNKXRLrFSo="},"flags/4x3/li-3058dc4aeaf2bd2da8cb910892137d732b56e5e9d342e565a4059de1a8e40e40.svg":{"logical_path":"flags/4x3/li.svg","mtime":"2020-01-16T20:20:11+01:00","size":8327,"digest":"3058dc4aeaf2bd2da8cb910892137d732b56e5e9d342e565a4059de1a8e40e40","integrity":"sha256-MFjcSuryvS2oy5EIkhN9cytW5enTQuVlpAWd4ajkDkA="},"flags/1x1/li-0780a4f218b9ee466e33d14274b8a01575a86b3787b347e3269a3b301c220d5f.svg":{"logical_path":"flags/1x1/li.svg","mtime":"2020-01-16T20:20:11+01:00","size":8350,"digest":"0780a4f218b9ee466e33d14274b8a01575a86b3787b347e3269a3b301c220d5f","integrity":"sha256-B4Ck8hi57kZuM9FCdLigFXWoazeHs0fjJpo7MBwiDV8="},"flags/4x3/lk-a13d6ab1da51be3b1d2c5b80f4d866c923d42b017e197469e1bfc0dd021c4bfe.svg":{"logical_path":"flags/4x3/lk.svg","mtime":"2020-01-16T20:20:11+01:00","size":11333,"digest":"a13d6ab1da51be3b1d2c5b80f4d866c923d42b017e197469e1bfc0dd021c4bfe","integrity":"sha256-oT1qsdpRvjsdLFuA9NhmySPUKwF+GXRp4b/A3QIcS/4="},"flags/1x1/lk-99759363f0df6b868fd1398bf05666c680bafe1eeec8b859b64d450930213e02.svg":{"logical_path":"flags/1x1/lk.svg","mtime":"2020-01-16T20:20:11+01:00","size":11345,"digest":"99759363f0df6b868fd1398bf05666c680bafe1eeec8b859b64d450930213e02","integrity":"sha256-mXWTY/Dfa4aP0TmL8FZmxoC6/h7uyLhZtk1FCTAhPgI="},"flags/4x3/lr-b06a1d70899826b305ce387fa31e1fa0bdb3bcb17c1392f15f995ce1dba723cf.svg":{"logical_path":"flags/4x3/lr.svg","mtime":"2020-01-16T20:20:11+01:00","size":724,"digest":"b06a1d70899826b305ce387fa31e1fa0bdb3bcb17c1392f15f995ce1dba723cf","integrity":"sha256-sGodcImYJrMFzjh/ox4foL2zvLF8E5LxX5lc4dunI88="},"flags/1x1/lr-820a9d023e5b1e68ed640bfaba8f84ad4379c42a6c5c982cb76b0390dd2bcbdd.svg":{"logical_path":"flags/1x1/lr.svg","mtime":"2020-01-16T20:20:11+01:00","size":697,"digest":"820a9d023e5b1e68ed640bfaba8f84ad4379c42a6c5c982cb76b0390dd2bcbdd","integrity":"sha256-ggqdAj5bHmjtZAv6uo+ErUN5xCpsXJgst2sDkN0ry90="},"flags/4x3/ls-d02bcefe7c298c153665f35c33eedb08e2e2b345350e4bf1714a87abf86b2d0e.svg":{"logical_path":"flags/4x3/ls.svg","mtime":"2020-01-16T20:20:11+01:00","size":1222,"digest":"d02bcefe7c298c153665f35c33eedb08e2e2b345350e4bf1714a87abf86b2d0e","integrity":"sha256-0CvO/nwpjBU2ZfNcM+7bCOLis0U1DkvxcUqHq/hrLQ4="},"flags/1x1/ls-85c731c313a46db12bdb27fe229e9f7d052b447c624663b73ffa1dbab97f03fb.svg":{"logical_path":"flags/1x1/ls.svg","mtime":"2020-01-16T20:20:11+01:00","size":1245,"digest":"85c731c313a46db12bdb27fe229e9f7d052b447c624663b73ffa1dbab97f03fb","integrity":"sha256-hccxwxOkbbEr2yf+Ip6ffQUrRHxiRmO3P/odurl/A/s="},"flags/4x3/lt-c08eb18a15d2003cb544432b11c5081d3d5741370669b4df306d1c6bce14cb51.svg":{"logical_path":"flags/4x3/lt.svg","mtime":"2020-01-16T20:20:11+01:00","size":445,"digest":"c08eb18a15d2003cb544432b11c5081d3d5741370669b4df306d1c6bce14cb51","integrity":"sha256-wI6xihXSADy1REMrEcUIHT1XQTcGabTfMG0ca84Uy1E="},"flags/1x1/lt-c1bd7e3d289ac9b0df06d47237780eaf4d30f01281ed50a7df9a22bc3a2489c5.svg":{"logical_path":"flags/1x1/lt.svg","mtime":"2020-01-16T20:20:11+01:00","size":445,"digest":"c1bd7e3d289ac9b0df06d47237780eaf4d30f01281ed50a7df9a22bc3a2489c5","integrity":"sha256-wb1+PSiaybDfBtRyN3gOr00w8BKB7VCn35oivDokicU="},"flags/4x3/lu-99e7b6adb3a9e0f867b17eb3b1f0f33db92fd27cfd7b651f62453f359bace22f.svg":{"logical_path":"flags/4x3/lu.svg","mtime":"2020-01-16T20:20:11+01:00","size":231,"digest":"99e7b6adb3a9e0f867b17eb3b1f0f33db92fd27cfd7b651f62453f359bace22f","integrity":"sha256-mee2rbOp4PhnsX6zsfDzPbkv0nz9e2UfYkU/NZus4i8="},"flags/1x1/lu-ab544445f16afa450549288ac86c2cc9a458a9d7747b3a89d5ecef7db9c83ce7.svg":{"logical_path":"flags/1x1/lu.svg","mtime":"2020-01-16T20:20:11+01:00","size":235,"digest":"ab544445f16afa450549288ac86c2cc9a458a9d7747b3a89d5ecef7db9c83ce7","integrity":"sha256-q1RERfFq+kUFSSiKyGwsyaRYqdd0ezqJ1ezvfbnIPOc="},"flags/4x3/lv-f8844d50b89f0369f73d580d3676553e7e55dd8ab2460e592a29a530d9bed886.svg":{"logical_path":"flags/4x3/lv.svg","mtime":"2020-01-16T20:20:11+01:00","size":236,"digest":"f8844d50b89f0369f73d580d3676553e7e55dd8ab2460e592a29a530d9bed886","integrity":"sha256-+IRNULifA2n3PVgNNnZVPn5V3YqyRg5ZKimlMNm+2IY="},"flags/1x1/lv-baeced49dd4249e36a25b0f23a5c601a69e9dee3137627cd4450194b85a99dd4.svg":{"logical_path":"flags/1x1/lv.svg","mtime":"2020-01-16T20:20:11+01:00","size":240,"digest":"baeced49dd4249e36a25b0f23a5c601a69e9dee3137627cd4450194b85a99dd4","integrity":"sha256-uuztSd1CSeNqJbDyOlxgGmnp3uMTdifNRFAZS4WpndQ="},"flags/4x3/ly-03209121483967f9d74849fb9261de23e9ff2e02c4e40b29f1cda0631b8a5fae.svg":{"logical_path":"flags/4x3/ly.svg","mtime":"2020-01-16T20:20:11+01:00","size":534,"digest":"03209121483967f9d74849fb9261de23e9ff2e02c4e40b29f1cda0631b8a5fae","integrity":"sha256-AyCRIUg5Z/nXSEn7kmHeI+n/LgLE5Asp8c2gYxuKX64="},"flags/1x1/ly-1e6e070aaa4bfc97a5a446a39bf746ab3c4c81d9f62c975cab164e16de3a3ffe.svg":{"logical_path":"flags/1x1/ly.svg","mtime":"2020-01-16T20:20:11+01:00","size":533,"digest":"1e6e070aaa4bfc97a5a446a39bf746ab3c4c81d9f62c975cab164e16de3a3ffe","integrity":"sha256-Hm4HCqpL/JelpEajm/dGqzxMgdn2LJdcqxZOFt46P/4="},"flags/4x3/ma-9a25cc7c2868fa45b251dd1b99a0be3b583df69732146142020fe9c6c0c95b63.svg":{"logical_path":"flags/4x3/ma.svg","mtime":"2020-01-16T20:20:11+01:00","size":253,"digest":"9a25cc7c2868fa45b251dd1b99a0be3b583df69732146142020fe9c6c0c95b63","integrity":"sha256-miXMfCho+kWyUd0bmaC+O1g99pcyFGFCAg/pxsDJW2M="},"flags/1x1/ma-4f18b9c355b8b8bf0db69badb235a183dbd558deb6439bf03b4f18e56837a7f3.svg":{"logical_path":"flags/1x1/ma.svg","mtime":"2020-01-16T20:20:11+01:00","size":253,"digest":"4f18b9c355b8b8bf0db69badb235a183dbd558deb6439bf03b4f18e56837a7f3","integrity":"sha256-Txi5w1W4uL8NtputsjWhg9vVWN62Q5vwO08Y5Wg3p/M="},"flags/4x3/mc-b0c50599ea2a550680a6a867579930e0b47d3e05193a7294a26b7849a7ad35e2.svg":{"logical_path":"flags/4x3/mc.svg","mtime":"2020-01-16T20:20:11+01:00","size":240,"digest":"b0c50599ea2a550680a6a867579930e0b47d3e05193a7294a26b7849a7ad35e2","integrity":"sha256-sMUFmeoqVQaApqhnV5kw4LR9PgUZOnKUomt4SaetNeI="},"flags/1x1/mc-8f1fe6210338399d8791d91f39234b1a09acf2aa5e0387696048dc7068534a28.svg":{"logical_path":"flags/1x1/mc.svg","mtime":"2020-01-16T20:20:11+01:00","size":240,"digest":"8f1fe6210338399d8791d91f39234b1a09acf2aa5e0387696048dc7068534a28","integrity":"sha256-jx/mIQM4OZ2HkdkfOSNLGgms8qpeA4dpYEjccGhTSig="},"flags/4x3/md-8849eef7bdf916e962f7bb31af87c8d47aef33f9f4a2017b2ce55c4166e79643.svg":{"logical_path":"flags/4x3/md.svg","mtime":"2020-01-16T20:20:11+01:00","size":11283,"digest":"8849eef7bdf916e962f7bb31af87c8d47aef33f9f4a2017b2ce55c4166e79643","integrity":"sha256-iEnu9735Fuli97sxr4fI1HrvM/n0ogF7LOVcQWbnlkM="},"flags/1x1/md-43f1bb4157545abe6e79215459efb548d913bbe7922078cd40cb722a4e19d9b4.svg":{"logical_path":"flags/1x1/md.svg","mtime":"2020-01-16T20:20:11+01:00","size":11387,"digest":"43f1bb4157545abe6e79215459efb548d913bbe7922078cd40cb722a4e19d9b4","integrity":"sha256-Q/G7QVdUWr5ueSFUWe+1SNkTu+eSIHjNQMtyKk4Z2bQ="},"flags/4x3/me-983d452d43cfb8d628bfc5c0cf4991c2ba3cf0e39e70aa5353cfd4e9ec3da62d.svg":{"logical_path":"flags/4x3/me.svg","mtime":"2020-01-16T20:20:11+01:00","size":63177,"digest":"983d452d43cfb8d628bfc5c0cf4991c2ba3cf0e39e70aa5353cfd4e9ec3da62d","integrity":"sha256-mD1FLUPPuNYov8XAz0mRwro88OOecKpTU8/U6ew9pi0="},"flags/1x1/me-104d6a96038ef06d3d8b89c9221996f3649b5b821139b11b2e07695b0f6fda2f.svg":{"logical_path":"flags/1x1/me.svg","mtime":"2020-01-16T20:20:11+01:00","size":64191,"digest":"104d6a96038ef06d3d8b89c9221996f3649b5b821139b11b2e07695b0f6fda2f","integrity":"sha256-EE1qlgOO8G09i4nJIhmW82SbW4IRObEbLgdpWw9v2i8="},"flags/4x3/mf-31fb851bfcc2340d2fa43e86a099cc7becfc8e7f996a4d2ca56bd050e6537086.svg":{"logical_path":"flags/4x3/mf.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"31fb851bfcc2340d2fa43e86a099cc7becfc8e7f996a4d2ca56bd050e6537086","integrity":"sha256-MfuFG/zCNA0vpD6GoJnMe+z8jn+Zak0spWvQUOZTcIY="},"flags/1x1/mf-fe20ce9bf911631d6e79edf21c8cff0716f2dc1ffded39515735444d9a66fa55.svg":{"logical_path":"flags/1x1/mf.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"fe20ce9bf911631d6e79edf21c8cff0716f2dc1ffded39515735444d9a66fa55","integrity":"sha256-/iDOm/kRYx1uee3yHIz/Bxby3B/97TlRVzVETZpm+lU="},"flags/4x3/mg-5effe963e29f804a26f95dbbc9519add454a0fd9eb918ddfeb55e1e99a1a2701.svg":{"logical_path":"flags/4x3/mg.svg","mtime":"2020-01-16T20:20:11+01:00","size":305,"digest":"5effe963e29f804a26f95dbbc9519add454a0fd9eb918ddfeb55e1e99a1a2701","integrity":"sha256-Xv/pY+KfgEom+V27yVGa3UVKD9nrkY3f61Xh6ZoaJwE="},"flags/1x1/mg-9e546cfb78810d9b25c814a84aadd6907880b8e0cdd2e4e30738b519e7c1ac91.svg":{"logical_path":"flags/1x1/mg.svg","mtime":"2020-01-16T20:20:11+01:00","size":305,"digest":"9e546cfb78810d9b25c814a84aadd6907880b8e0cdd2e4e30738b519e7c1ac91","integrity":"sha256-nlRs+3iBDZslyBSoSq3WkHiAuODN0uTjBzi1GefBrJE="},"flags/4x3/mh-d8cfd123007dbb99aa700c335957926a6d5e877ab49680c79629a32716d7a782.svg":{"logical_path":"flags/4x3/mh.svg","mtime":"2020-01-16T20:20:11+01:00","size":744,"digest":"d8cfd123007dbb99aa700c335957926a6d5e877ab49680c79629a32716d7a782","integrity":"sha256-2M/RIwB9u5mqcAwzWVeSam1eh3q0loDHlimjJxbXp4I="},"flags/1x1/mh-3fe03d4d063a4729fc8b68fd5e9d7d2eef6e65c4e82954c83f76b138cea2eb45.svg":{"logical_path":"flags/1x1/mh.svg","mtime":"2020-01-16T20:20:11+01:00","size":767,"digest":"3fe03d4d063a4729fc8b68fd5e9d7d2eef6e65c4e82954c83f76b138cea2eb45","integrity":"sha256-P+A9TQY6Ryn8i2j9Xp19Lu9uZcToKVTIP3axOM6i60U="},"flags/4x3/mk-6e8071d15f2ff125d30bf89d000dcb47db9545cf9b7ff04f1474650ec2f4d25c.svg":{"logical_path":"flags/4x3/mk.svg","mtime":"2020-01-16T20:20:11+01:00","size":385,"digest":"6e8071d15f2ff125d30bf89d000dcb47db9545cf9b7ff04f1474650ec2f4d25c","integrity":"sha256-boBx0V8v8SXTC/idAA3LR9uVRc+bf/BPFHRlDsL00lw="},"flags/1x1/mk-fdc9212f9f311cbface56b6587468a2e845111b697edc11b7edda9fcf100c1d5.svg":{"logical_path":"flags/1x1/mk.svg","mtime":"2020-01-16T20:20:11+01:00","size":413,"digest":"fdc9212f9f311cbface56b6587468a2e845111b697edc11b7edda9fcf100c1d5","integrity":"sha256-/ckhL58xHL+s5Wtlh0aKLoRREbaX7cEbft2p/PEAwdU="},"flags/4x3/ml-a730102e0c6f6362de9c10ef8da6cf7b123465d01a297e7a89808b01fa4771cd.svg":{"logical_path":"flags/4x3/ml.svg","mtime":"2020-01-16T20:20:11+01:00","size":279,"digest":"a730102e0c6f6362de9c10ef8da6cf7b123465d01a297e7a89808b01fa4771cd","integrity":"sha256-pzAQLgxvY2LenBDvjabPexI0ZdAaKX56iYCLAfpHcc0="},"flags/1x1/ml-a661355da206b0cb7ac4c84b6cdf7e411fbca8fcb271ae999fa60d5c67578192.svg":{"logical_path":"flags/1x1/ml.svg","mtime":"2020-01-16T20:20:11+01:00","size":282,"digest":"a661355da206b0cb7ac4c84b6cdf7e411fbca8fcb271ae999fa60d5c67578192","integrity":"sha256-pmE1XaIGsMt6xMhLbN9+QR+8qPyyca6Zn6YNXGdXgZI="},"flags/4x3/mm-6d0d207d662477110f2b863488088818d8400386358dcbc669a2d8c54d1bae16.svg":{"logical_path":"flags/4x3/mm.svg","mtime":"2020-01-16T20:20:11+01:00","size":851,"digest":"6d0d207d662477110f2b863488088818d8400386358dcbc669a2d8c54d1bae16","integrity":"sha256-bQ0gfWYkdxEPK4Y0iAiIGNhAA4Y1jcvGaaLYxU0brhY="},"flags/1x1/mm-de7d46b6543343af61ba997045cb41a707bd0db1e7a5879971ca8fddcbdf9e99.svg":{"logical_path":"flags/1x1/mm.svg","mtime":"2020-01-16T20:20:11+01:00","size":868,"digest":"de7d46b6543343af61ba997045cb41a707bd0db1e7a5879971ca8fddcbdf9e99","integrity":"sha256-3n1GtlQzQ69huplwRctBpwe9DbHnpYeZccqP3cvfnpk="},"flags/4x3/mn-656eb51e88bfce82401e4080eb791ddf16d571cbba102cdd4316c5de4711ac65.svg":{"logical_path":"flags/4x3/mn.svg","mtime":"2020-01-16T20:20:11+01:00","size":1256,"digest":"656eb51e88bfce82401e4080eb791ddf16d571cbba102cdd4316c5de4711ac65","integrity":"sha256-ZW61Hoi/zoJAHkCA63kd3xbVccu6ECzdQxbF3kcRrGU="},"flags/1x1/mn-ad22cb2c195a7d8ca8e4174db011d5f58238ee25039b5b2da2649d8ca8b00123.svg":{"logical_path":"flags/1x1/mn.svg","mtime":"2020-01-16T20:20:11+01:00","size":1263,"digest":"ad22cb2c195a7d8ca8e4174db011d5f58238ee25039b5b2da2649d8ca8b00123","integrity":"sha256-rSLLLBlafYyo5BdNsBHV9YI47iUDm1stomSdjKiwASM="},"flags/4x3/mo-37a1088aa687af13951bc93886e3e51cb246eccfde1b56528f189327ea291792.svg":{"logical_path":"flags/4x3/mo.svg","mtime":"2020-01-16T20:20:11+01:00","size":1516,"digest":"37a1088aa687af13951bc93886e3e51cb246eccfde1b56528f189327ea291792","integrity":"sha256-N6EIiqaHrxOVG8k4huPlHLJG7M/eG1ZSjxiTJ+opF5I="},"flags/1x1/mo-b463a1c37b69131d662e3fb2ae937583458824a09bcf68fc7ed2d7fd729138d1.svg":{"logical_path":"flags/1x1/mo.svg","mtime":"2020-01-16T20:20:11+01:00","size":1550,"digest":"b463a1c37b69131d662e3fb2ae937583458824a09bcf68fc7ed2d7fd729138d1","integrity":"sha256-tGOhw3tpEx1mLj+yrpN1g0WIJKCbz2j8ftLX/XKRONE="},"flags/4x3/mp-ecd12cadc358fdf293e856c0a3ffc09409123cabd3c7201225b2d21b59551e14.svg":{"logical_path":"flags/4x3/mp.svg","mtime":"2020-01-16T20:20:11+01:00","size":23425,"digest":"ecd12cadc358fdf293e856c0a3ffc09409123cabd3c7201225b2d21b59551e14","integrity":"sha256-7NEsrcNY/fKT6FbAo//AlAkSPKvTxyASJbLSG1lVHhQ="},"flags/1x1/mp-d1f4ba10c1409e713253f1fbb107eeccbd4ec1a8f9036663f1ac1991aee53835.svg":{"logical_path":"flags/1x1/mp.svg","mtime":"2020-01-16T20:20:11+01:00","size":23663,"digest":"d1f4ba10c1409e713253f1fbb107eeccbd4ec1a8f9036663f1ac1991aee53835","integrity":"sha256-0fS6EMFAnnEyU/H7sQfuzL1Owaj5A2Zj8awZka7lODU="},"flags/4x3/mq-b4e1b08a93c1364c79e6d61f95b16fca5b884da6e77835bc0e0adfff8ecc2d7f.svg":{"logical_path":"flags/4x3/mq.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"b4e1b08a93c1364c79e6d61f95b16fca5b884da6e77835bc0e0adfff8ecc2d7f","integrity":"sha256-tOGwipPBNkx55tYflbFvyluITabneDW8Dgrf/47MLX8="},"flags/1x1/mq-19cb6f7cb7354c3fd40e987c93a2d76329d34b2ed3873c3f25fe56802f251ea8.svg":{"logical_path":"flags/1x1/mq.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"19cb6f7cb7354c3fd40e987c93a2d76329d34b2ed3873c3f25fe56802f251ea8","integrity":"sha256-GctvfLc1TD/UDph8k6LXYynTSy7Thzw/Jf5WgC8lHqg="},"flags/4x3/mr-9f64af3ed5c6d8d1f68b5cb09fd1aa9d28c3c95107e063f64a0ef95f0cb9429a.svg":{"logical_path":"flags/4x3/mr.svg","mtime":"2020-01-16T20:20:11+01:00","size":450,"digest":"9f64af3ed5c6d8d1f68b5cb09fd1aa9d28c3c95107e063f64a0ef95f0cb9429a","integrity":"sha256-n2SvPtXG2NH2i1ywn9GqnSjDyVEH4GP2Sg75Xwy5Qpo="},"flags/1x1/mr-0e79b7bcc669bb871d94021db2b78b162b9867c7eaf934d8f7a3025fd5903576.svg":{"logical_path":"flags/1x1/mr.svg","mtime":"2020-01-16T20:20:11+01:00","size":438,"digest":"0e79b7bcc669bb871d94021db2b78b162b9867c7eaf934d8f7a3025fd5903576","integrity":"sha256-Dnm3vMZpu4cdlAIdsreLFiuYZ8fq+TTY96MCX9WQNXY="},"flags/4x3/ms-32620dd70353777b2ee62951556976f398cd38ae359b5a8c97311a1dc61eb8bc.svg":{"logical_path":"flags/4x3/ms.svg","mtime":"2020-01-16T20:20:11+01:00","size":6792,"digest":"32620dd70353777b2ee62951556976f398cd38ae359b5a8c97311a1dc61eb8bc","integrity":"sha256-MmIN1wNTd3su5ilRVWl285jNOK41m1qMlzEaHcYeuLw="},"flags/1x1/ms-4104d4f36cb5cf1c6de78e52e90bc3c5b8bfa262617b16a737673feb8c30a00c.svg":{"logical_path":"flags/1x1/ms.svg","mtime":"2020-01-16T20:20:11+01:00","size":6700,"digest":"4104d4f36cb5cf1c6de78e52e90bc3c5b8bfa262617b16a737673feb8c30a00c","integrity":"sha256-QQTU82y1zxxt545S6QvDxbi/omJhexanN2c/64wwoAw="},"flags/4x3/mt-0c9819aa69b34b84c1ee43620922737122eb38f107be9864a0690ac66ef8aa64.svg":{"logical_path":"flags/4x3/mt.svg","mtime":"2020-01-16T20:20:11+01:00","size":8807,"digest":"0c9819aa69b34b84c1ee43620922737122eb38f107be9864a0690ac66ef8aa64","integrity":"sha256-DJgZqmmzS4TB7kNiCSJzcSLrOPEHvphkoGkKxm74qmQ="},"flags/1x1/mt-3c3fe71f2a2bf0d961fd145ad7e48ca1e9d3a05cce514354714ba4568503d106.svg":{"logical_path":"flags/1x1/mt.svg","mtime":"2020-01-16T20:20:11+01:00","size":10519,"digest":"3c3fe71f2a2bf0d961fd145ad7e48ca1e9d3a05cce514354714ba4568503d106","integrity":"sha256-PD/nHyor8Nlh/RRa1+SMoenToFzOUUNUcUukVoUD0QY="},"flags/4x3/mu-c78c23f1499756b9db762ae434ca354d1481447fa94c66bc10aca9443b399059.svg":{"logical_path":"flags/4x3/mu.svg","mtime":"2020-01-16T20:20:11+01:00","size":322,"digest":"c78c23f1499756b9db762ae434ca354d1481447fa94c66bc10aca9443b399059","integrity":"sha256-x4wj8UmXVrnbdirkNMo1TRSBRH+pTGa8EKypRDs5kFk="},"flags/1x1/mu-91ebc79d0fa306127ea8b7a33f77d5b28f35c516ea91ff0468c7344dc838db69.svg":{"logical_path":"flags/1x1/mu.svg","mtime":"2020-01-16T20:20:11+01:00","size":322,"digest":"91ebc79d0fa306127ea8b7a33f77d5b28f35c516ea91ff0468c7344dc838db69","integrity":"sha256-kevHnQ+jBhJ+qLejP3fVso81xRbqkf8EaMc0Tcg422k="},"flags/4x3/mv-a17c947e17adae6aacef01a3e131c4150aa094911b53fbaead41783683e008eb.svg":{"logical_path":"flags/4x3/mv.svg","mtime":"2020-01-16T20:20:11+01:00","size":292,"digest":"a17c947e17adae6aacef01a3e131c4150aa094911b53fbaead41783683e008eb","integrity":"sha256-oXyUfhetrmqs7wGj4THEFQqglJEbU/uurUF4NoPgCOs="},"flags/1x1/mv-d138e94d9d2ed093ef1425c1164493b780202f9a7f7937241a7b081b79ff8b01.svg":{"logical_path":"flags/1x1/mv.svg","mtime":"2020-01-16T20:20:11+01:00","size":310,"digest":"d138e94d9d2ed093ef1425c1164493b780202f9a7f7937241a7b081b79ff8b01","integrity":"sha256-0TjpTZ0u0JPvFCXBFkSTt4AgL5p/eTckGnsIG3n/iwE="},"flags/4x3/mw-21f116afdf71df80e3c59084c6ba640814fa5389430328ff55c9403b5c239632.svg":{"logical_path":"flags/4x3/mw.svg","mtime":"2020-01-16T20:20:11+01:00","size":3721,"digest":"21f116afdf71df80e3c59084c6ba640814fa5389430328ff55c9403b5c239632","integrity":"sha256-IfEWr99x34DjxZCExrpkCBT6U4lDAyj/VclAO1wjljI="},"flags/1x1/mw-5c2228d3f1cf1f9cf8cb158e813202981828c11e8caf117836fc57fa6bc1c788.svg":{"logical_path":"flags/1x1/mw.svg","mtime":"2020-01-16T20:20:11+01:00","size":3930,"digest":"5c2228d3f1cf1f9cf8cb158e813202981828c11e8caf117836fc57fa6bc1c788","integrity":"sha256-XCIo0/HPH5z4yxWOgTICmBgowR6MrxF4NvxX+mvBx4g="},"flags/4x3/mx-a235f9b16921590b7e78caa6f76339361356946eaf0046badd10732b4647c0b6.svg":{"logical_path":"flags/4x3/mx.svg","mtime":"2020-01-16T20:20:11+01:00","size":95864,"digest":"a235f9b16921590b7e78caa6f76339361356946eaf0046badd10732b4647c0b6","integrity":"sha256-ojX5sWkhWQt+eMqm92M5NhNWlG6vAEa63RBzK0ZHwLY="},"flags/1x1/mx-cdab01ebcdccc020ca16e1355ef1fd18ca0043b501f399ca8edc48adfa8c7292.svg":{"logical_path":"flags/1x1/mx.svg","mtime":"2020-01-16T20:20:11+01:00","size":91341,"digest":"cdab01ebcdccc020ca16e1355ef1fd18ca0043b501f399ca8edc48adfa8c7292","integrity":"sha256-zasB683MwCDKFuE1XvH9GMoAQ7UB85nKjtxIrfqMcpI="},"flags/4x3/my-0ed63574cf5f20c0663ab8cd1f700e150fb641fd0b93602ba013abbfaae5ee59.svg":{"logical_path":"flags/4x3/my.svg","mtime":"2020-01-16T20:20:11+01:00","size":1284,"digest":"0ed63574cf5f20c0663ab8cd1f700e150fb641fd0b93602ba013abbfaae5ee59","integrity":"sha256-DtY1dM9fIMBmOrjNH3AOFQ+2Qf0Lk2AroBOrv6rl7lk="},"flags/1x1/my-5e8d31ef06ffc8af33a5616d760592ecd022c52afc8ba33c721f1e4989da0628.svg":{"logical_path":"flags/1x1/my.svg","mtime":"2020-01-16T20:20:11+01:00","size":1275,"digest":"5e8d31ef06ffc8af33a5616d760592ecd022c52afc8ba33c721f1e4989da0628","integrity":"sha256-Xo0x7wb/yK8zpWFtdgWS7NAixSr8i6M8ch8eSYnaBig="},"flags/4x3/mz-752e2293917b1d2ece3f097104caeadf6a679054a779e9d3be8e49dc324bb88a.svg":{"logical_path":"flags/4x3/mz.svg","mtime":"2020-01-16T20:20:11+01:00","size":2623,"digest":"752e2293917b1d2ece3f097104caeadf6a679054a779e9d3be8e49dc324bb88a","integrity":"sha256-dS4ik5F7HS7OPwlxBMrq32pnkFSneenTvo5J3DJLuIo="},"flags/1x1/mz-300cba975ad43c962ceca0d266ded1fe3d21d6b4d701d657fb42b27268ea2964.svg":{"logical_path":"flags/1x1/mz.svg","mtime":"2020-01-16T20:20:11+01:00","size":2604,"digest":"300cba975ad43c962ceca0d266ded1fe3d21d6b4d701d657fb42b27268ea2964","integrity":"sha256-MAy6l1rUPJYs7KDSZt7R/j0h1rTXAdZX+0KycmjqKWQ="},"flags/4x3/na-a0655a2e70751278e6a60d31e818f672864a6e68e8b3d3361b2fbb70fa9bfef8.svg":{"logical_path":"flags/4x3/na.svg","mtime":"2020-01-16T20:20:11+01:00","size":1005,"digest":"a0655a2e70751278e6a60d31e818f672864a6e68e8b3d3361b2fbb70fa9bfef8","integrity":"sha256-oGVaLnB1Enjmpg0x6Bj2coZKbmjos9M2Gy+7cPqb/vg="},"flags/1x1/na-1ce089a189db5be15eb05df8155f9bd017b61fc1a497e5b3021ff2ca664e122d.svg":{"logical_path":"flags/1x1/na.svg","mtime":"2020-01-16T20:20:11+01:00","size":983,"digest":"1ce089a189db5be15eb05df8155f9bd017b61fc1a497e5b3021ff2ca664e122d","integrity":"sha256-HOCJoYnbW+FesF34FV+b0Be2H8Gkl+WzAh/yymZOEi0="},"flags/4x3/nc-0c7171d91c44414ed69808611db588f1283ee7e34ea8a74a9a5101ba4b1cb305.svg":{"logical_path":"flags/4x3/nc.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"0c7171d91c44414ed69808611db588f1283ee7e34ea8a74a9a5101ba4b1cb305","integrity":"sha256-DHFx2RxEQU7WmAhhHbWI8Sg+5+NOqKdKmlEBukscswU="},"flags/1x1/nc-d3a1629f06dc3200af7669f2d895fce1908d2c1ca02d71e530bdfa6646a9516c.svg":{"logical_path":"flags/1x1/nc.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"d3a1629f06dc3200af7669f2d895fce1908d2c1ca02d71e530bdfa6646a9516c","integrity":"sha256-06FinwbcMgCvdmny2JX84ZCNLBygLXHlML36ZkapUWw="},"flags/4x3/ne-2b61d30a6cb4554535538e3b753926853e8c629a494a347286b9731c803548e4.svg":{"logical_path":"flags/4x3/ne.svg","mtime":"2020-01-16T20:20:11+01:00","size":279,"digest":"2b61d30a6cb4554535538e3b753926853e8c629a494a347286b9731c803548e4","integrity":"sha256-K2HTCmy0VUU1U447dTkmhT6MYppJSjRyhrlzHIA1SOQ="},"flags/1x1/ne-9c5f798ccd7d3dd3771ae628b4a39dfb2a4578fefd2e006f3ce89c3e494d0cb1.svg":{"logical_path":"flags/1x1/ne.svg","mtime":"2020-01-16T20:20:11+01:00","size":285,"digest":"9c5f798ccd7d3dd3771ae628b4a39dfb2a4578fefd2e006f3ce89c3e494d0cb1","integrity":"sha256-nF95jM19PdN3GuYotKOd+ypFeP79LgBvPOicPklNDLE="},"flags/4x3/nf-4e615baa83a8b4db3e39fe1d251ab913943d64e0cd320f251d619ab54e7512d3.svg":{"logical_path":"flags/4x3/nf.svg","mtime":"2020-01-16T20:20:11+01:00","size":5845,"digest":"4e615baa83a8b4db3e39fe1d251ab913943d64e0cd320f251d619ab54e7512d3","integrity":"sha256-TmFbqoOotNs+Of4dJRq5E5Q9ZODNMg8lHWGatU51EtM="},"flags/1x1/nf-45403247c90050484813acf23c50f543779528e346317274373c3c24fd830103.svg":{"logical_path":"flags/1x1/nf.svg","mtime":"2020-01-16T20:20:11+01:00","size":5598,"digest":"45403247c90050484813acf23c50f543779528e346317274373c3c24fd830103","integrity":"sha256-RUAyR8kAUEhIE6zyPFD1Q3eVKONGMXJ0Nzw8JP2DAQM="},"flags/4x3/ng-d52fd188be973f31dd34e5a0b3fed0de68fe736c8a41c6028d9c248c038c8641.svg":{"logical_path":"flags/4x3/ng.svg","mtime":"2020-01-16T20:20:11+01:00","size":263,"digest":"d52fd188be973f31dd34e5a0b3fed0de68fe736c8a41c6028d9c248c038c8641","integrity":"sha256-1S/RiL6XPzHdNOWgs/7Q3mj+c2yKQcYCjZwkjAOMhkE="},"flags/1x1/ng-f22edcc5867554d69ecbe15add0fbbb1389631f3ced07a4f820065c7770c65f5.svg":{"logical_path":"flags/1x1/ng.svg","mtime":"2020-01-16T20:20:11+01:00","size":263,"digest":"f22edcc5867554d69ecbe15add0fbbb1389631f3ced07a4f820065c7770c65f5","integrity":"sha256-8i7cxYZ1VNaey+Fa3Q+7sTiWMfPO0HpPggBlx3cMZfU="},"flags/4x3/ni-2fbb883e46fbe3b2ecfed9dac004ceb546f25c77a84a5966eea224674aebc610.svg":{"logical_path":"flags/4x3/ni.svg","mtime":"2020-01-16T20:20:11+01:00","size":18584,"digest":"2fbb883e46fbe3b2ecfed9dac004ceb546f25c77a84a5966eea224674aebc610","integrity":"sha256-L7uIPkb747Ls/tnawATOtUbyXHeoSllm7qIkZ0rrxhA="},"flags/1x1/ni-214aed148b615c4846f842b47f99cf178ac62a96cf18c5dd6b23467184b56680.svg":{"logical_path":"flags/1x1/ni.svg","mtime":"2020-01-16T20:20:11+01:00","size":18664,"digest":"214aed148b615c4846f842b47f99cf178ac62a96cf18c5dd6b23467184b56680","integrity":"sha256-IUrtFIthXEhG+EK0f5nPF4rGKpbPGMXdayNGcYS1ZoA="},"flags/4x3/nl-4f0ecea529dd4c0099dd41a7801fa5ac44aa04cd872ca31e11efd58b5a813774.svg":{"logical_path":"flags/4x3/nl.svg","mtime":"2020-01-16T20:20:11+01:00","size":367,"digest":"4f0ecea529dd4c0099dd41a7801fa5ac44aa04cd872ca31e11efd58b5a813774","integrity":"sha256-Tw7OpSndTACZ3UGngB+lrESqBM2HLKMeEe/Vi1qBN3Q="},"flags/1x1/nl-9c8f60e638879d642487818975e58c61cd3102f0e68c360708243c076436ff68.svg":{"logical_path":"flags/1x1/nl.svg","mtime":"2020-01-16T20:20:11+01:00","size":375,"digest":"9c8f60e638879d642487818975e58c61cd3102f0e68c360708243c076436ff68","integrity":"sha256-nI9g5jiHnWQkh4GJdeWMYc0xAvDmjDYHCCQ8B2Q2/2g="},"flags/4x3/no-270f7ee9d1d2efa6abf16f693faba8586adae842d79d8aad9e3f37e96c27cbce.svg":{"logical_path":"flags/4x3/no.svg","mtime":"2020-01-16T20:20:11+01:00","size":324,"digest":"270f7ee9d1d2efa6abf16f693faba8586adae842d79d8aad9e3f37e96c27cbce","integrity":"sha256-Jw9+6dHS76ar8W9pP6uoWGra6ELXnYqtnj836Wwny84="},"flags/1x1/no-7d377325e8c5ec4de0376e9f4c13463f183af637e6c443716f22020c7a313979.svg":{"logical_path":"flags/1x1/no.svg","mtime":"2020-01-16T20:20:11+01:00","size":324,"digest":"7d377325e8c5ec4de0376e9f4c13463f183af637e6c443716f22020c7a313979","integrity":"sha256-fTdzJejF7E3gN26fTBNGPxg69jfmxENxbyICDHoxOXk="},"flags/4x3/np-69637ddb3a173c4522a71598278aa32462e1762e34dd99c9dc99a515433a6cf8.svg":{"logical_path":"flags/4x3/np.svg","mtime":"2020-01-16T20:20:11+01:00","size":1061,"digest":"69637ddb3a173c4522a71598278aa32462e1762e34dd99c9dc99a515433a6cf8","integrity":"sha256-aWN92zoXPEUipxWYJ4qjJGLhdi403ZnJ3JmlFUM6bPg="},"flags/1x1/np-44ead118cce3a1fcbb720cc8d6eab6ecb6b62292315f61ae5963a40262ee11d2.svg":{"logical_path":"flags/1x1/np.svg","mtime":"2020-01-16T20:20:11+01:00","size":1199,"digest":"44ead118cce3a1fcbb720cc8d6eab6ecb6b62292315f61ae5963a40262ee11d2","integrity":"sha256-ROrRGMzjofy7cgzI1uq27La2IpIxX2GuWWOkAmLuEdI="},"flags/4x3/nr-0bd3c0ba7bbac4bd5985b838096eeebd67711d39065619ef092fa4bb55b22a6d.svg":{"logical_path":"flags/4x3/nr.svg","mtime":"2020-01-16T20:20:11+01:00","size":648,"digest":"0bd3c0ba7bbac4bd5985b838096eeebd67711d39065619ef092fa4bb55b22a6d","integrity":"sha256-C9PAunu6xL1Zhbg4CW7uvWdxHTkGVhnvCS+ku1WyKm0="},"flags/1x1/nr-63b9c44e5dd66a59895f52707dc24db5bd1eab6e535298d24e414c0f2dafcb3c.svg":{"logical_path":"flags/1x1/nr.svg","mtime":"2020-01-16T20:20:11+01:00","size":671,"digest":"63b9c44e5dd66a59895f52707dc24db5bd1eab6e535298d24e414c0f2dafcb3c","integrity":"sha256-Y7nETl3WalmJX1JwfcJNtb0eq25TUpjSTkFMDy2vyzw="},"flags/4x3/nu-259989e1eea0cbf6b41a33176a4c9c1eaa2e7ae6571ad80a324c6309bd5aa5fc.svg":{"logical_path":"flags/4x3/nu.svg","mtime":"2020-01-16T20:20:11+01:00","size":1748,"digest":"259989e1eea0cbf6b41a33176a4c9c1eaa2e7ae6571ad80a324c6309bd5aa5fc","integrity":"sha256-JZmJ4e6gy/a0GjMXakycHqoueuZXGtgKMkxjCb1apfw="},"flags/1x1/nu-1cb535708f64ed8b386a245e571e677e935009af92f2b214760a2832c1ee1b53.svg":{"logical_path":"flags/1x1/nu.svg","mtime":"2020-01-16T20:20:11+01:00","size":1736,"digest":"1cb535708f64ed8b386a245e571e677e935009af92f2b214760a2832c1ee1b53","integrity":"sha256-HLU1cI9k7Ys4aiReVx5nfpNQCa+S8rIUdgooMsHuG1M="},"flags/4x3/nz-90ceca2a683fbec395a91b77b0880cea99c3b2cbdb24caa5474925cbdcc3675e.svg":{"logical_path":"flags/4x3/nz.svg","mtime":"2020-01-16T20:20:11+01:00","size":3019,"digest":"90ceca2a683fbec395a91b77b0880cea99c3b2cbdb24caa5474925cbdcc3675e","integrity":"sha256-kM7KKmg/vsOVqRt3sIgM6pnDssvbJMqlR0kly9zDZ14="},"flags/1x1/nz-b0d78f165a72edd46599222a2ea5f6a91a8252975cb03e33c4ca08e389859aac.svg":{"logical_path":"flags/1x1/nz.svg","mtime":"2020-01-16T20:20:11+01:00","size":3045,"digest":"b0d78f165a72edd46599222a2ea5f6a91a8252975cb03e33c4ca08e389859aac","integrity":"sha256-sNePFlpy7dRlmSIqLqX2qRqCUpdcsD4zxMoI44mFmqw="},"flags/4x3/om-aadcca7bc7ad318400097b84849dd64c4744306cd9b4f152fba34f2e84116965.svg":{"logical_path":"flags/4x3/om.svg","mtime":"2020-01-16T20:20:11+01:00","size":22891,"digest":"aadcca7bc7ad318400097b84849dd64c4744306cd9b4f152fba34f2e84116965","integrity":"sha256-qtzKe8etMYQACXuEhJ3WTEdEMGzZtPFS+6NPLoQRaWU="},"flags/1x1/om-705e2bd2b2fc7d13c152aa06bfb9e6ee4ad8b299f8c06ca16adad0b18b2b18ed.svg":{"logical_path":"flags/1x1/om.svg","mtime":"2020-01-16T20:20:11+01:00","size":22875,"digest":"705e2bd2b2fc7d13c152aa06bfb9e6ee4ad8b299f8c06ca16adad0b18b2b18ed","integrity":"sha256-cF4r0rL8fRPBUqoGv7nm7krYspn4wGyhatrQsYsrGO0="},"flags/4x3/pa-027e679bd65dcaa2c53145a14669c1e674a467a889ef702cbe2a260f7ca8ad38.svg":{"logical_path":"flags/4x3/pa.svg","mtime":"2020-01-16T20:20:11+01:00","size":746,"digest":"027e679bd65dcaa2c53145a14669c1e674a467a889ef702cbe2a260f7ca8ad38","integrity":"sha256-An5nm9ZdyqLFMUWhRmnB5nSkZ6iJ73AsviomD3yorTg="},"flags/1x1/pa-edeb4faeadaa286de7fdc667e25d38ad0cdbccaec5023182fed6a3c74e8b09eb.svg":{"logical_path":"flags/1x1/pa.svg","mtime":"2020-01-16T20:20:11+01:00","size":662,"digest":"edeb4faeadaa286de7fdc667e25d38ad0cdbccaec5023182fed6a3c74e8b09eb","integrity":"sha256-7etPrq2qKG3n/cZn4l04rQzbzK7FAjGC/tajx06LCes="},"flags/4x3/pe-7ec59842737c90d6ff543f1831fd69b51e1e7ee1b068c3ac6259cbf2c214d611.svg":{"logical_path":"flags/4x3/pe.svg","mtime":"2020-01-16T20:20:11+01:00","size":74343,"digest":"7ec59842737c90d6ff543f1831fd69b51e1e7ee1b068c3ac6259cbf2c214d611","integrity":"sha256-fsWYQnN8kNb/VD8YMf1ptR4efuGwaMOsYlnL8sIU1hE="},"flags/1x1/pe-97d1b8ed1d4ed5e5f0348a731ca4a3a4b9abc7d440447dc87a521f229f375ed3.svg":{"logical_path":"flags/1x1/pe.svg","mtime":"2020-01-16T20:20:11+01:00","size":73629,"digest":"97d1b8ed1d4ed5e5f0348a731ca4a3a4b9abc7d440447dc87a521f229f375ed3","integrity":"sha256-l9G47R1O1eXwNIpzHKSjpLmrx9RARH3IelIfIp83XtM="},"flags/4x3/pf-27955c73c5be4043c5b7ddf64c8f46d11c6648e3b1fc0efe028b8afea21a40e1.svg":{"logical_path":"flags/4x3/pf.svg","mtime":"2020-01-16T20:20:11+01:00","size":4292,"digest":"27955c73c5be4043c5b7ddf64c8f46d11c6648e3b1fc0efe028b8afea21a40e1","integrity":"sha256-J5Vcc8W+QEPFt932TI9G0RxmSOOx/A7+AouK/qIaQOE="},"flags/1x1/pf-83e3e1d36fba45e015c62f938e6d182029edc05ebfdc50bcb33860f36f96d73a.svg":{"logical_path":"flags/1x1/pf.svg","mtime":"2020-01-16T20:20:11+01:00","size":4235,"digest":"83e3e1d36fba45e015c62f938e6d182029edc05ebfdc50bcb33860f36f96d73a","integrity":"sha256-g+Ph02+6ReAVxi+Tjm0YICntwF6/3FC8szhg82+W1zo="},"flags/4x3/pg-c2fdd2551f9044c461eccfae2d7ba0a347a99143f6002b71a429942af0217897.svg":{"logical_path":"flags/4x3/pg.svg","mtime":"2020-01-16T20:20:11+01:00","size":1671,"digest":"c2fdd2551f9044c461eccfae2d7ba0a347a99143f6002b71a429942af0217897","integrity":"sha256-wv3SVR+QRMRh7M+uLXugo0epkUP2ACtxpCmUKvAheJc="},"flags/1x1/pg-cf60257fa85f9270b1e9980e703435186110167f76c153bc460c10ee8b2d4b09.svg":{"logical_path":"flags/1x1/pg.svg","mtime":"2020-01-16T20:20:11+01:00","size":2111,"digest":"cf60257fa85f9270b1e9980e703435186110167f76c153bc460c10ee8b2d4b09","integrity":"sha256-z2Alf6hfknCx6ZgOcDQ1GGEQFn92wVO8RgwQ7ostSwk="},"flags/4x3/ph-bf3394850a6cec6a535420eabce263e7f8193413e4af1fb317c76da025388c1b.svg":{"logical_path":"flags/4x3/ph.svg","mtime":"2020-01-16T20:20:11+01:00","size":1303,"digest":"bf3394850a6cec6a535420eabce263e7f8193413e4af1fb317c76da025388c1b","integrity":"sha256-vzOUhQps7GpTVCDqvOJj5/gZNBPkrx+zF8dtoCU4jBs="},"flags/1x1/ph-006c3218effe4269252cb9638de82ea339eb2894951705c630533ceffa842169.svg":{"logical_path":"flags/1x1/ph.svg","mtime":"2020-01-16T20:20:11+01:00","size":1303,"digest":"006c3218effe4269252cb9638de82ea339eb2894951705c630533ceffa842169","integrity":"sha256-AGwyGO/+QmklLLljjeguoznrKJSVFwXGMFM87/qEIWk="},"flags/4x3/pk-b64f6a32e5bb598f57cfe49c4899c2021f2d153653f3d92101e6e11b2158e500.svg":{"logical_path":"flags/4x3/pk.svg","mtime":"2020-01-16T20:20:11+01:00","size":743,"digest":"b64f6a32e5bb598f57cfe49c4899c2021f2d153653f3d92101e6e11b2158e500","integrity":"sha256-tk9qMuW7WY9Xz+ScSJnCAh8tFTZT89khAebhGyFY5QA="},"flags/1x1/pk-d2d58def913c9081c5eeeda5f0b6895068ec13c955694e359531e23422145e60.svg":{"logical_path":"flags/1x1/pk.svg","mtime":"2020-01-16T20:20:11+01:00","size":694,"digest":"d2d58def913c9081c5eeeda5f0b6895068ec13c955694e359531e23422145e60","integrity":"sha256-0tWN75E8kIHF7u2l8LaJUGjsE8lVaU41lTHiNCIUXmA="},"flags/4x3/pl-f55a710991a94c2e6c2f9f1a7a4a36ebb84b24b7c9d9df4e1ffe86d61321fa6f.svg":{"logical_path":"flags/4x3/pl.svg","mtime":"2020-01-16T20:20:11+01:00","size":228,"digest":"f55a710991a94c2e6c2f9f1a7a4a36ebb84b24b7c9d9df4e1ffe86d61321fa6f","integrity":"sha256-9VpxCZGpTC5sL58aeko267hLJLfJ2d9OH/6G1hMh+m8="},"flags/1x1/pl-fafb539259385f2b99df910cff085710a9b4d9706b74e4e0f8a6ef627615c4e7.svg":{"logical_path":"flags/1x1/pl.svg","mtime":"2020-01-16T20:20:11+01:00","size":228,"digest":"fafb539259385f2b99df910cff085710a9b4d9706b74e4e0f8a6ef627615c4e7","integrity":"sha256-+vtTklk4XyuZ35EM/whXEKm02XBrdOTg+KbvYnYVxOc="},"flags/4x3/pm-8f6338d2ae3e0e42adc9754720ca21ad4979095cf6d7467a8db5a5a1c3e0b2a5.svg":{"logical_path":"flags/4x3/pm.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"8f6338d2ae3e0e42adc9754720ca21ad4979095cf6d7467a8db5a5a1c3e0b2a5","integrity":"sha256-j2M40q4+DkKtyXVHIMohrUl5CVz210Z6jbWlocPgsqU="},"flags/1x1/pm-63029c6198dc42c404ec39807a99528b1d198eeeea6f9a1e309548242480140b.svg":{"logical_path":"flags/1x1/pm.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"63029c6198dc42c404ec39807a99528b1d198eeeea6f9a1e309548242480140b","integrity":"sha256-YwKcYZjcQsQE7DmAeplSix0Zju7qb5oeMJVIJCSAFAs="},"flags/4x3/pn-4006c11ca83011c0dd60a13ac30b27da0578b9f1368bd8c6de5aab423f6662d8.svg":{"logical_path":"flags/4x3/pn.svg","mtime":"2020-01-16T20:20:11+01:00","size":10953,"digest":"4006c11ca83011c0dd60a13ac30b27da0578b9f1368bd8c6de5aab423f6662d8","integrity":"sha256-QAbBHKgwEcDdYKE6wwsn2gV4ufE2i9jG3lqrQj9mYtg="},"flags/1x1/pn-6c433f7f9cb79c6d5ed7bbeade8a495e3b26ca2604f4fd3995096109684ac5dd.svg":{"logical_path":"flags/1x1/pn.svg","mtime":"2020-01-16T20:20:11+01:00","size":8624,"digest":"6c433f7f9cb79c6d5ed7bbeade8a495e3b26ca2604f4fd3995096109684ac5dd","integrity":"sha256-bEM/f5y3nG1e17vq3opJXjsmyiYE9P05lQlhCWhKxd0="},"flags/4x3/pr-6287e1515fa80e2d05133ed93f14ca03a1be6909a9ef6c736fd60f9c9fe73132.svg":{"logical_path":"flags/4x3/pr.svg","mtime":"2020-01-16T20:20:11+01:00","size":634,"digest":"6287e1515fa80e2d05133ed93f14ca03a1be6909a9ef6c736fd60f9c9fe73132","integrity":"sha256-YofhUV+oDi0FEz7ZPxTKA6G+aQmp72xzb9YPnJ/nMTI="},"flags/1x1/pr-526985b3a6d2d6de577ed0ed92d0b49ce854667e3ff630304813fd5af15527cd.svg":{"logical_path":"flags/1x1/pr.svg","mtime":"2020-01-16T20:20:11+01:00","size":622,"digest":"526985b3a6d2d6de577ed0ed92d0b49ce854667e3ff630304813fd5af15527cd","integrity":"sha256-UmmFs6bS1t5XftDtktC0nOhUZn4/9jAwSBP9WvFVJ80="},"flags/4x3/ps-31f50e1fcb44b9aa6e9ce4473c3085f744e70ea0fa1fd8d85787f4e7b0c4a69b.svg":{"logical_path":"flags/4x3/ps.svg","mtime":"2020-01-16T20:20:11+01:00","size":558,"digest":"31f50e1fcb44b9aa6e9ce4473c3085f744e70ea0fa1fd8d85787f4e7b0c4a69b","integrity":"sha256-MfUOH8tEuapunORHPDCF90TnDqD6H9jYV4f057DEpps="},"flags/1x1/ps-c43918bc71bef71b24dd46e8cacc53e0df53e02dcce6199d06d11a4637f08a04.svg":{"logical_path":"flags/1x1/ps.svg","mtime":"2020-01-16T20:20:11+01:00","size":544,"digest":"c43918bc71bef71b24dd46e8cacc53e0df53e02dcce6199d06d11a4637f08a04","integrity":"sha256-xDkYvHG+9xsk3UboysxT4N9T4C3M5hmdBtEaRjfwigQ="},"flags/4x3/pt-9aab20caed714ee47fc408f017037aea94a649b3ba4d87e2da37870ee31e4f92.svg":{"logical_path":"flags/4x3/pt.svg","mtime":"2020-01-16T20:20:11+01:00","size":8393,"digest":"9aab20caed714ee47fc408f017037aea94a649b3ba4d87e2da37870ee31e4f92","integrity":"sha256-mqsgyu1xTuR/xAjwFwN66pSmSbO6TYfi2jeHDuMeT5I="},"flags/1x1/pt-a309869e5018c9690a65ebdf8a2d69d61f82772068a7920f9680ed0581ae5966.svg":{"logical_path":"flags/1x1/pt.svg","mtime":"2020-01-16T20:20:11+01:00","size":8775,"digest":"a309869e5018c9690a65ebdf8a2d69d61f82772068a7920f9680ed0581ae5966","integrity":"sha256-owmGnlAYyWkKZevfii1p1h+CdyBop5IPloDtBYGuWWY="},"flags/4x3/pw-9262037d114d0f61571c74f9a5455809709b43e6565443ae2667981eecb5f12a.svg":{"logical_path":"flags/4x3/pw.svg","mtime":"2020-01-16T20:20:11+01:00","size":467,"digest":"9262037d114d0f61571c74f9a5455809709b43e6565443ae2667981eecb5f12a","integrity":"sha256-kmIDfRFND2FXHHT5pUVYCXCbQ+ZWVEOuJmeYHuy18So="},"flags/1x1/pw-a6f42019653ae26d43c6e9b7bef83fc98cff8ec5e8d0c50ad7cb0a17d5e565a6.svg":{"logical_path":"flags/1x1/pw.svg","mtime":"2020-01-16T20:20:11+01:00","size":511,"digest":"a6f42019653ae26d43c6e9b7bef83fc98cff8ec5e8d0c50ad7cb0a17d5e565a6","integrity":"sha256-pvQgGWU64m1Dxum3vvg/yYz/jsXo0MUK18sKF9XlZaY="},"flags/4x3/py-5bc9e9f0dee94ae3d9bd80ae6fb1aac297dc81a1c592d0a73bc3383bce73af74.svg":{"logical_path":"flags/4x3/py.svg","mtime":"2020-01-16T20:20:11+01:00","size":17312,"digest":"5bc9e9f0dee94ae3d9bd80ae6fb1aac297dc81a1c592d0a73bc3383bce73af74","integrity":"sha256-W8np8N7pSuPZvYCub7GqwpfcgaHFktCnO8M4O85zr3Q="},"flags/1x1/py-182eff300f4507fd9399fb6310d1cd3b45adadd7924ad2814003c7111ec5c0de.svg":{"logical_path":"flags/1x1/py.svg","mtime":"2020-01-16T20:20:11+01:00","size":17478,"digest":"182eff300f4507fd9399fb6310d1cd3b45adadd7924ad2814003c7111ec5c0de","integrity":"sha256-GC7/MA9FB/2TmftjENHNO0WtrdeSStKBQAPHER7FwN4="},"flags/4x3/qa-32c93970f8e521850eddfaf2a89dfff987f0ae3b0b73a253c301b61cf547cf9e.svg":{"logical_path":"flags/4x3/qa.svg","mtime":"2020-01-16T20:20:11+01:00","size":362,"digest":"32c93970f8e521850eddfaf2a89dfff987f0ae3b0b73a253c301b61cf547cf9e","integrity":"sha256-Msk5cPjlIYUO3fryqJ3/+YfwrjsLc6JTwwG2HPVHz54="},"flags/1x1/qa-182e4d8ace2607d0c02d3c29d65eb084af71092357006bc41cd601981ec3b81c.svg":{"logical_path":"flags/1x1/qa.svg","mtime":"2020-01-16T20:20:11+01:00","size":359,"digest":"182e4d8ace2607d0c02d3c29d65eb084af71092357006bc41cd601981ec3b81c","integrity":"sha256-GC5Nis4mB9DALTwp1l6whK9xCSNXAGvEHNYBmB7DuBw="},"flags/4x3/re-8b2ea1f2727c266a2b80cb12a9b7195f6b656f521552b67893b6761a07f9bc92.svg":{"logical_path":"flags/4x3/re.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"8b2ea1f2727c266a2b80cb12a9b7195f6b656f521552b67893b6761a07f9bc92","integrity":"sha256-iy6h8nJ8JmorgMsSqbcZX2tlb1IVUrZ4k7Z2Ggf5vJI="},"flags/1x1/re-07eb7d855022bc678b47b0ce5fd05da5044d6dde86ad3697d4ae55c68ff447c1.svg":{"logical_path":"flags/1x1/re.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"07eb7d855022bc678b47b0ce5fd05da5044d6dde86ad3697d4ae55c68ff447c1","integrity":"sha256-B+t9hVAivGeLR7DOX9BdpQRNbd6GrTaX1K5Vxo/0R8E="},"flags/4x3/ro-4ab797571e1d9eb326486f75654a4590fd33f20444f85b77ba0997eb6138c21f.svg":{"logical_path":"flags/4x3/ro.svg","mtime":"2020-01-16T20:20:11+01:00","size":308,"digest":"4ab797571e1d9eb326486f75654a4590fd33f20444f85b77ba0997eb6138c21f","integrity":"sha256-SreXVx4dnrMmSG91ZUpFkP0z8gRE+Ft3ugmX62E4wh8="},"flags/1x1/ro-ddfcbaec04d11bf7f95abebd1d3a42b2862b1af8fca9b02764a6ed0e409a1d75.svg":{"logical_path":"flags/1x1/ro.svg","mtime":"2020-01-16T20:20:11+01:00","size":308,"digest":"ddfcbaec04d11bf7f95abebd1d3a42b2862b1af8fca9b02764a6ed0e409a1d75","integrity":"sha256-3fy67ATRG/f5Wr69HTpCsoYrGvj8qbAnZKbtDkCaHXU="},"flags/4x3/rs-dd8a52473ea40e23b393b5f4a30d1edd91865aab167f0c1835ae84b15dcce585.svg":{"logical_path":"flags/4x3/rs.svg","mtime":"2020-01-16T20:20:11+01:00","size":187640,"digest":"dd8a52473ea40e23b393b5f4a30d1edd91865aab167f0c1835ae84b15dcce585","integrity":"sha256-3YpSRz6kDiOzk7X0ow0e3ZGGWqsWfwwYNa6EsV3M5YU="},"flags/1x1/rs-42bf40209c92e4e7169daf29fbcb7253b2804eee7a463051529327f38851f865.svg":{"logical_path":"flags/1x1/rs.svg","mtime":"2020-01-16T20:20:11+01:00","size":187503,"digest":"42bf40209c92e4e7169daf29fbcb7253b2804eee7a463051529327f38851f865","integrity":"sha256-Qr9AIJyS5OcWna8p+8tyU7KATu56RjBRUpMn84hR+GU="},"flags/4x3/ru-13f4525a4caad6e31afa523d2bc4a0c1e6377c0bef1bfd872682130d3f199d1d.svg":{"logical_path":"flags/4x3/ru.svg","mtime":"2020-01-16T20:20:11+01:00","size":289,"digest":"13f4525a4caad6e31afa523d2bc4a0c1e6377c0bef1bfd872682130d3f199d1d","integrity":"sha256-E/RSWkyq1uMa+lI9K8SgweY3fAvvG/2HJoITDT8ZnR0="},"flags/1x1/ru-b9792a963faf667447e0456dba5be80a3b37c197a4284d1539a3433721d9e2fe.svg":{"logical_path":"flags/1x1/ru.svg","mtime":"2020-01-16T20:20:11+01:00","size":293,"digest":"b9792a963faf667447e0456dba5be80a3b37c197a4284d1539a3433721d9e2fe","integrity":"sha256-uXkqlj+vZnRH4EVtulvoCjs3wZekKE0VOaNDNyHZ4v4="},"flags/4x3/rw-bc38bcd6e19d2941839b253af6e863b13338cde1174874f9674471026c15e422.svg":{"logical_path":"flags/4x3/rw.svg","mtime":"2020-01-16T20:20:11+01:00","size":750,"digest":"bc38bcd6e19d2941839b253af6e863b13338cde1174874f9674471026c15e422","integrity":"sha256-vDi81uGdKUGDmyU69uhjsTM4zeEXSHT5Z0RxAmwV5CI="},"flags/1x1/rw-456698123775b83d2b0fa1b9fe073f9ccdba0b6bf39a703b8979dcce158eb32c.svg":{"logical_path":"flags/1x1/rw.svg","mtime":"2020-01-16T20:20:11+01:00","size":751,"digest":"456698123775b83d2b0fa1b9fe073f9ccdba0b6bf39a703b8979dcce158eb32c","integrity":"sha256-RWaYEjd1uD0rD6G5/gc/nM26C2vzmnA7iXnczhWOsyw="},"flags/4x3/sa-2b2fd6abb48415d5407c576c24a24fbd80af5877ef06cf2d026452f6c67f5f4d.svg":{"logical_path":"flags/4x3/sa.svg","mtime":"2020-01-16T20:20:11+01:00","size":10303,"digest":"2b2fd6abb48415d5407c576c24a24fbd80af5877ef06cf2d026452f6c67f5f4d","integrity":"sha256-Ky/Wq7SEFdVAfFdsJKJPvYCvWHfvBs8tAmRS9sZ/X00="},"flags/1x1/sa-d9ebc73e7957f86604164dd5054fb32601ad14d7dfd4bfe73da5bdd10bb2f8ae.svg":{"logical_path":"flags/1x1/sa.svg","mtime":"2020-01-16T20:20:11+01:00","size":10233,"digest":"d9ebc73e7957f86604164dd5054fb32601ad14d7dfd4bfe73da5bdd10bb2f8ae","integrity":"sha256-2evHPnlX+GYEFk3VBU+zJgGtFNff1L/nPaW90Quy+K4="},"flags/4x3/sb-37761927039d0a37ba0995c59fd31bbe36c8a0ca161e5b72b8131e3659f8dddf.svg":{"logical_path":"flags/4x3/sb.svg","mtime":"2020-01-16T20:20:11+01:00","size":950,"digest":"37761927039d0a37ba0995c59fd31bbe36c8a0ca161e5b72b8131e3659f8dddf","integrity":"sha256-N3YZJwOdCje6CZXFn9MbvjbIoMoWHltyuBMeNln43d8="},"flags/1x1/sb-bedbf8464cd82f391bfe6178c63055b650d0cf3aee60c37fa79a586f95783b79.svg":{"logical_path":"flags/1x1/sb.svg","mtime":"2020-01-16T20:20:11+01:00","size":956,"digest":"bedbf8464cd82f391bfe6178c63055b650d0cf3aee60c37fa79a586f95783b79","integrity":"sha256-vtv4RkzYLzkb/mF4xjBVtlDQzzruYMN/p5pYb5V4O3k="},"flags/4x3/sc-f6a2f8f37be93f07600b491b52cb58d80d74b92d8ace0af313f4ce081b0d1345.svg":{"logical_path":"flags/4x3/sc.svg","mtime":"2020-01-16T20:20:11+01:00","size":568,"digest":"f6a2f8f37be93f07600b491b52cb58d80d74b92d8ace0af313f4ce081b0d1345","integrity":"sha256-9qL483vpPwdgC0kbUstY2A10uS2KzgrzE/TOCBsNE0U="},"flags/1x1/sc-5dcd01b98c34460c9624280fb5047811fbae7d976620cd0a70ad4263a9085b60.svg":{"logical_path":"flags/1x1/sc.svg","mtime":"2020-01-16T20:20:11+01:00","size":573,"digest":"5dcd01b98c34460c9624280fb5047811fbae7d976620cd0a70ad4263a9085b60","integrity":"sha256-Xc0BuYw0RgyWJCgPtQR4EfuufZdmIM0KcK1CY6kIW2A="},"flags/4x3/sd-cc9cf97e8a37622b9e1bad28811d46c4471595afa448dc055e0e3aae7687fe4b.svg":{"logical_path":"flags/4x3/sd.svg","mtime":"2020-01-16T20:20:11+01:00","size":494,"digest":"cc9cf97e8a37622b9e1bad28811d46c4471595afa448dc055e0e3aae7687fe4b","integrity":"sha256-zJz5foo3YiueG60ogR1GxEcVla+kSNwFXg46rnaH/ks="},"flags/1x1/sd-1f5d13f9780085acbaad13d959b1918c796ba7b0450954b15d145e87cebe045c.svg":{"logical_path":"flags/1x1/sd.svg","mtime":"2020-01-16T20:20:11+01:00","size":496,"digest":"1f5d13f9780085acbaad13d959b1918c796ba7b0450954b15d145e87cebe045c","integrity":"sha256-H10T+XgAhay6rRPZWbGRjHlrp7BFCVSxXRReh86+BFw="},"flags/4x3/se-84b06bcd5bd90ea8dd6d1c3c8d2799a843c47b0256ce098aef75414964618286.svg":{"logical_path":"flags/4x3/se.svg","mtime":"2020-01-16T20:20:11+01:00","size":688,"digest":"84b06bcd5bd90ea8dd6d1c3c8d2799a843c47b0256ce098aef75414964618286","integrity":"sha256-hLBrzVvZDqjdbRw8jSeZqEPEewJWzgmK73VBSWRhgoY="},"flags/1x1/se-39f128686652cf914f8601110fcc9ac879bca204407013b93aff4ca4fb2ed9bc.svg":{"logical_path":"flags/1x1/se.svg","mtime":"2020-01-16T20:20:11+01:00","size":701,"digest":"39f128686652cf914f8601110fcc9ac879bca204407013b93aff4ca4fb2ed9bc","integrity":"sha256-OfEoaGZSz5FPhgERD8yayHm8ogRAcBO5Ov9MpPsu2bw="},"flags/4x3/sg-a82acd90077e76318ddb0be96999d9695b9a9f4627e8a0f341d3987a62747dcc.svg":{"logical_path":"flags/4x3/sg.svg","mtime":"2020-01-16T20:20:11+01:00","size":890,"digest":"a82acd90077e76318ddb0be96999d9695b9a9f4627e8a0f341d3987a62747dcc","integrity":"sha256-qCrNkAd+djGN2wvpaZnZaVuan0Yn6KDzQdOYemJ0fcw="},"flags/1x1/sg-c22e093634568aae249bf35f9ddcaa6796b5f27d76c39ff5336abf7f1b8a47d4.svg":{"logical_path":"flags/1x1/sg.svg","mtime":"2020-01-16T20:20:11+01:00","size":954,"digest":"c22e093634568aae249bf35f9ddcaa6796b5f27d76c39ff5336abf7f1b8a47d4","integrity":"sha256-wi4JNjRWiq4km/NfndyqZ5a18n12w5/1M2q/fxuKR9Q="},"flags/4x3/sh-57470d9a75955f0fac605a94e853bab524c7461a4c025e809fb09db762ebe46f.svg":{"logical_path":"flags/4x3/sh.svg","mtime":"2020-01-16T20:20:11+01:00","size":29702,"digest":"57470d9a75955f0fac605a94e853bab524c7461a4c025e809fb09db762ebe46f","integrity":"sha256-V0cNmnWVXw+sYFqU6FO6tSTHRhpMAl6An7Cdt2Lr5G8="},"flags/1x1/sh-8d06a0fff61e51eb65357d138e00736545835b8649aa2694152f4cdc9f941c16.svg":{"logical_path":"flags/1x1/sh.svg","mtime":"2020-01-16T20:20:11+01:00","size":30308,"digest":"8d06a0fff61e51eb65357d138e00736545835b8649aa2694152f4cdc9f941c16","integrity":"sha256-jQag//YeUetlNX0TjgBzZUWDW4ZJqiaUFS9M3J+UHBY="},"flags/4x3/si-289d6417f154323e7922df09ffc0f49ded31548c7ee8020c39cb85724ffbcea8.svg":{"logical_path":"flags/4x3/si.svg","mtime":"2020-01-16T20:20:11+01:00","size":2055,"digest":"289d6417f154323e7922df09ffc0f49ded31548c7ee8020c39cb85724ffbcea8","integrity":"sha256-KJ1kF/FUMj55It8J/8D0ne0xVIx+6AIMOcuFck/7zqg="},"flags/1x1/si-ca40a5f4f38119d6f52ffd3ddb36af95951a2aa1fadcd897f5bc1641bb2e0051.svg":{"logical_path":"flags/1x1/si.svg","mtime":"2020-01-16T20:20:11+01:00","size":2068,"digest":"ca40a5f4f38119d6f52ffd3ddb36af95951a2aa1fadcd897f5bc1641bb2e0051","integrity":"sha256-ykCl9POBGdb1L/092zavlZUaKqH63NiX9bwWQbsuAFE="},"flags/4x3/sj-67d4cdd268d0c0cd93fc561b506cb5646cb508385c93ed350d11f94aa1c83833.svg":{"logical_path":"flags/4x3/sj.svg","mtime":"2020-01-16T20:20:11+01:00","size":324,"digest":"67d4cdd268d0c0cd93fc561b506cb5646cb508385c93ed350d11f94aa1c83833","integrity":"sha256-Z9TN0mjQwM2T/FYbUGy1ZGy1CDhck+01DRH5SqHIODM="},"flags/1x1/sj-f7c489607033138039612d6abe7f4b0b4b6dada5cac75d78204f404a0d292b1c.svg":{"logical_path":"flags/1x1/sj.svg","mtime":"2020-01-16T20:20:11+01:00","size":324,"digest":"f7c489607033138039612d6abe7f4b0b4b6dada5cac75d78204f404a0d292b1c","integrity":"sha256-98SJYHAzE4A5YS1qvn9LC0ttraXKx114IE9ASg0pKxw="},"flags/4x3/sk-a0bdbb7f5d6998ffe9fcbc80bbdf0e6cff3629740d2ce1b8d61025e0a8b322b5.svg":{"logical_path":"flags/4x3/sk.svg","mtime":"2020-01-16T20:20:11+01:00","size":1208,"digest":"a0bdbb7f5d6998ffe9fcbc80bbdf0e6cff3629740d2ce1b8d61025e0a8b322b5","integrity":"sha256-oL27f11pmP/p/LyAu98ObP82KXQNLOG41hAl4KizIrU="},"flags/1x1/sk-a82a813b2d81af9be1aa775f22b2c2457d11e870e072d7e23957a11d0878faed.svg":{"logical_path":"flags/1x1/sk.svg","mtime":"2020-01-16T20:20:11+01:00","size":1187,"digest":"a82a813b2d81af9be1aa775f22b2c2457d11e870e072d7e23957a11d0878faed","integrity":"sha256-qCqBOy2Br5vhqndfIrLCRX0R6HDgctfiOVehHQh4+u0="},"flags/4x3/sl-be265bed24cfe0b25778201f251e52e4e721e3d319795875913805d1aea84ebb.svg":{"logical_path":"flags/4x3/sl.svg","mtime":"2020-01-16T20:20:11+01:00","size":278,"digest":"be265bed24cfe0b25778201f251e52e4e721e3d319795875913805d1aea84ebb","integrity":"sha256-viZb7STP4LJXeCAfJR5S5Och49MZeVh1kTgF0a6oTrs="},"flags/1x1/sl-cb8bccbaa21957f006ed4ae0144da81c999e93bd8014023b16b500fdcdc397d3.svg":{"logical_path":"flags/1x1/sl.svg","mtime":"2020-01-16T20:20:11+01:00","size":441,"digest":"cb8bccbaa21957f006ed4ae0144da81c999e93bd8014023b16b500fdcdc397d3","integrity":"sha256-y4vMuqIZV/AG7UrgFE2oHJmek72AFAI7FrUA/c3Dl9M="},"flags/4x3/sm-d7818df3f8f2d5dbed27dc5a0a80b1e41cdcd6130eeff221da58f0321e925f27.svg":{"logical_path":"flags/4x3/sm.svg","mtime":"2020-01-16T20:20:11+01:00","size":15960,"digest":"d7818df3f8f2d5dbed27dc5a0a80b1e41cdcd6130eeff221da58f0321e925f27","integrity":"sha256-14GN8/jy1dvtJ9xaCoCx5Bzc1hMO7/Ih2ljwMh6SXyc="},"flags/1x1/sm-6f87660dcac925bbdb036c79a0e20d3b208215d327be4c4764ae1069d6464efd.svg":{"logical_path":"flags/1x1/sm.svg","mtime":"2020-01-16T20:20:11+01:00","size":15881,"digest":"6f87660dcac925bbdb036c79a0e20d3b208215d327be4c4764ae1069d6464efd","integrity":"sha256-b4dmDcrJJbvbA2x5oOINOyCCFdMnvkxHZK4QadZGTv0="},"flags/4x3/sn-b131b17a374bcfbd00d442d282fa52f0e4e0e448cda1cdfaac25a95ff56443c0.svg":{"logical_path":"flags/4x3/sn.svg","mtime":"2020-01-16T20:20:11+01:00","size":427,"digest":"b131b17a374bcfbd00d442d282fa52f0e4e0e448cda1cdfaac25a95ff56443c0","integrity":"sha256-sTGxejdLz70A1ELSgvpS8OTg5EjNoc36rCWpX/VkQ8A="},"flags/1x1/sn-d180d3ce9846966dee6a3d9433ede7d24801dc4311636aabd470ec5b8765d772.svg":{"logical_path":"flags/1x1/sn.svg","mtime":"2020-01-16T20:20:11+01:00","size":418,"digest":"d180d3ce9846966dee6a3d9433ede7d24801dc4311636aabd470ec5b8765d772","integrity":"sha256-0YDTzphGlm3uaj2UM+3n0kgB3EMRY2qr1HDsW4dl13I="},"flags/4x3/so-3b5b77b371299478144a94b60c99524fb6b99bfedb3dcc976ab70185e07f399e.svg":{"logical_path":"flags/4x3/so.svg","mtime":"2020-01-16T20:20:11+01:00","size":494,"digest":"3b5b77b371299478144a94b60c99524fb6b99bfedb3dcc976ab70185e07f399e","integrity":"sha256-O1t3s3EplHgUSpS2DJlST7a5m/7bPcyXarcBheB/OZ4="},"flags/1x1/so-50aa941f2d2954285ef9e5ac260cdd264a73cf2e4b0c627677f04141fff2afd3.svg":{"logical_path":"flags/1x1/so.svg","mtime":"2020-01-16T20:20:11+01:00","size":501,"digest":"50aa941f2d2954285ef9e5ac260cdd264a73cf2e4b0c627677f04141fff2afd3","integrity":"sha256-UKqUHy0pVChe+eWsJgzdJkpzzy5LDGJ2d/BBQf/yr9M="},"flags/4x3/sr-94d0f0aefcbdea8d7ba35648eda5037e99bf4126723ce36416582ea43b08d3e2.svg":{"logical_path":"flags/4x3/sr.svg","mtime":"2020-01-16T20:20:11+01:00","size":318,"digest":"94d0f0aefcbdea8d7ba35648eda5037e99bf4126723ce36416582ea43b08d3e2","integrity":"sha256-lNDwrvy96o17o1ZI7aUDfpm/QSZyPONkFlgupDsI0+I="},"flags/1x1/sr-3944d683068d437471725d22fd71ccbe6a63ae307ff9775690417d3bf262cf82.svg":{"logical_path":"flags/1x1/sr.svg","mtime":"2020-01-16T20:20:11+01:00","size":323,"digest":"3944d683068d437471725d22fd71ccbe6a63ae307ff9775690417d3bf262cf82","integrity":"sha256-OUTWgwaNQ3Rxcl0i/XHMvmpjrjB/+XdWkEF9O/Jiz4I="},"flags/4x3/ss-f391e5002cbce83f97f7d1a11c284fa2e36a7d6dc734757d733656801ab17d0a.svg":{"logical_path":"flags/4x3/ss.svg","mtime":"2020-01-16T20:20:11+01:00","size":389,"digest":"f391e5002cbce83f97f7d1a11c284fa2e36a7d6dc734757d733656801ab17d0a","integrity":"sha256-85HlACy86D+X99GhHChPouNqfW3HNHV9czZWgBqxfQo="},"flags/1x1/ss-853bd9f713d2f6b1fe540a82e8bf4754912da21575b3fe756b8741767f318f7a.svg":{"logical_path":"flags/1x1/ss.svg","mtime":"2020-01-16T20:20:11+01:00","size":400,"digest":"853bd9f713d2f6b1fe540a82e8bf4754912da21575b3fe756b8741767f318f7a","integrity":"sha256-hTvZ9xPS9rH+VAqC6L9HVJEtohV1s/51a4dBdn8xj3o="},"flags/4x3/st-b52bb48a2c0800f5cb4b07bdd93c3908f77bcb6800be883ebf943bbd3d99d42c.svg":{"logical_path":"flags/4x3/st.svg","mtime":"2020-01-16T20:20:11+01:00","size":919,"digest":"b52bb48a2c0800f5cb4b07bdd93c3908f77bcb6800be883ebf943bbd3d99d42c","integrity":"sha256-tSu0iiwIAPXLSwe92Tw5CPd7y2gAvog+v5Q7vT2Z1Cw="},"flags/1x1/st-d8b5b1c8b9fe947086a4d277d2ac5d6b9cff188dfd37bda66c8bf5e02c5facc8.svg":{"logical_path":"flags/1x1/st.svg","mtime":"2020-01-16T20:20:11+01:00","size":923,"digest":"d8b5b1c8b9fe947086a4d277d2ac5d6b9cff188dfd37bda66c8bf5e02c5facc8","integrity":"sha256-2LWxyLn+lHCGpNJ30qxda5z/GI39N72mbIv14CxfrMg="},"flags/4x3/sv-6d02d63c7f04c9388e98f892cc43d8daa2110fc84242758d5627fcd247bfd09b.svg":{"logical_path":"flags/4x3/sv.svg","mtime":"2020-01-16T20:20:11+01:00","size":84037,"digest":"6d02d63c7f04c9388e98f892cc43d8daa2110fc84242758d5627fcd247bfd09b","integrity":"sha256-bQLWPH8EyTiOmPiSzEPY2qIRD8hCQnWNVif80ke/0Js="},"flags/1x1/sv-fb4c8d7eb98396a93c5b9c37195d70e809e0d71d8b8f9316e842121f95bb82ea.svg":{"logical_path":"flags/1x1/sv.svg","mtime":"2020-01-16T20:20:11+01:00","size":84509,"digest":"fb4c8d7eb98396a93c5b9c37195d70e809e0d71d8b8f9316e842121f95bb82ea","integrity":"sha256-+0yNfrmDlqk8W5w3GV1w6Ang1x2Lj5MW6EISH5W7guo="},"flags/4x3/sx-fb6a7b1cbc5b29eeeb39a5aec64ef7aad432c37bbe848d29955a3786b9763224.svg":{"logical_path":"flags/4x3/sx.svg","mtime":"2020-01-16T20:20:11+01:00","size":13306,"digest":"fb6a7b1cbc5b29eeeb39a5aec64ef7aad432c37bbe848d29955a3786b9763224","integrity":"sha256-+2p7HLxbKe7rOaWuxk73qtQyw3u+hI0plVo3hrl2MiQ="},"flags/1x1/sx-a37b124212f8530b921aef7657cfb35c2895a731c7a06f333faee4c93f32806a.svg":{"logical_path":"flags/1x1/sx.svg","mtime":"2020-01-16T20:20:11+01:00","size":13115,"digest":"a37b124212f8530b921aef7657cfb35c2895a731c7a06f333faee4c93f32806a","integrity":"sha256-o3sSQhL4UwuSGu92V8+zXCiVpzHHoG8zP67kyT8ygGo="},"flags/4x3/sy-e35f8d88c864ed4f38edb2f9f96d5bd69f6df078b50515b8c5467bf6b1689f50.svg":{"logical_path":"flags/4x3/sy.svg","mtime":"2020-01-16T20:20:11+01:00","size":568,"digest":"e35f8d88c864ed4f38edb2f9f96d5bd69f6df078b50515b8c5467bf6b1689f50","integrity":"sha256-41+NiMhk7U847bL5+W1b1p9t8Hi1BRW4xUZ79rFon1A="},"flags/1x1/sy-5d537bd5b42b58f6e8a7e33fbe5942a16126abb639edf9cb58b88938c57ebaa9.svg":{"logical_path":"flags/1x1/sy.svg","mtime":"2020-01-16T20:20:11+01:00","size":582,"digest":"5d537bd5b42b58f6e8a7e33fbe5942a16126abb639edf9cb58b88938c57ebaa9","integrity":"sha256-XVN71bQrWPbop+M/vllCoWEmq7Y57fnLWLiJOMV+uqk="},"flags/4x3/sz-c65ae592e943217787848364bdb4c57335869f4626ce705adabdc2620669c1c6.svg":{"logical_path":"flags/4x3/sz.svg","mtime":"2020-01-16T20:20:11+01:00","size":6755,"digest":"c65ae592e943217787848364bdb4c57335869f4626ce705adabdc2620669c1c6","integrity":"sha256-xlrlkulDIXeHhINkvbTFczWGn0YmznBa2r3CYgZpwcY="},"flags/1x1/sz-dd3d1c65bdf09317553f205e588e3dc7336acec1cb9315bfbe0f5bd8ca5bba3f.svg":{"logical_path":"flags/1x1/sz.svg","mtime":"2020-01-16T20:20:11+01:00","size":6706,"digest":"dd3d1c65bdf09317553f205e588e3dc7336acec1cb9315bfbe0f5bd8ca5bba3f","integrity":"sha256-3T0cZb3wkxdVPyBeWI49xzNqzsHLkxW/vg9b2Mpbuj8="},"flags/4x3/tc-594b6cc87040836c6d6777afb5833d565d3e5e75f404350a51443ec4588a1ccb.svg":{"logical_path":"flags/4x3/tc.svg","mtime":"2020-01-16T20:20:11+01:00","size":14585,"digest":"594b6cc87040836c6d6777afb5833d565d3e5e75f404350a51443ec4588a1ccb","integrity":"sha256-WUtsyHBAg2xtZ3evtYM9Vl0+XnX0BDUKUUQ+xFiKHMs="},"flags/1x1/tc-34a37006252eea340488220585c31d047b57e3e7934c77180d930972aaceadc3.svg":{"logical_path":"flags/1x1/tc.svg","mtime":"2020-01-16T20:20:11+01:00","size":14843,"digest":"34a37006252eea340488220585c31d047b57e3e7934c77180d930972aaceadc3","integrity":"sha256-NKNwBiUu6jQEiCIFhcMdBHtX4+eTTHcYDZMJcqrOrcM="},"flags/4x3/td-b67a1978e3badb895ff640c80bb6c0e33eac354220c08cf3fc93d62bf5d685a3.svg":{"logical_path":"flags/4x3/td.svg","mtime":"2020-01-16T20:20:11+01:00","size":270,"digest":"b67a1978e3badb895ff640c80bb6c0e33eac354220c08cf3fc93d62bf5d685a3","integrity":"sha256-tnoZeOO624lf9kDIC7bA4z6sNUIgwIzz/JPWK/XWhaM="},"flags/1x1/td-556b3a7991c17010cb7e1ff23c4edcc2dcdb8c406a128d407fd165ea8a19d311.svg":{"logical_path":"flags/1x1/td.svg","mtime":"2020-01-16T20:20:11+01:00","size":282,"digest":"556b3a7991c17010cb7e1ff23c4edcc2dcdb8c406a128d407fd165ea8a19d311","integrity":"sha256-VWs6eZHBcBDLfh/yPE7cwtzbjEBqEo1Af9Fl6ooZ0xE="},"flags/4x3/tf-35cd83351521f3022a43e01f0c40f34663a66ac1e92045979f31d3fd65c16d02.svg":{"logical_path":"flags/4x3/tf.svg","mtime":"2020-01-16T20:20:11+01:00","size":1091,"digest":"35cd83351521f3022a43e01f0c40f34663a66ac1e92045979f31d3fd65c16d02","integrity":"sha256-Nc2DNRUh8wIqQ+AfDEDzRmOmasHpIEWXnzHT/WXBbQI="},"flags/1x1/tf-485e71f61ff577735dbc4ba1025515c22a83c48ee7f3a2ed49804766c35f6ea5.svg":{"logical_path":"flags/1x1/tf.svg","mtime":"2020-01-16T20:20:11+01:00","size":1199,"digest":"485e71f61ff577735dbc4ba1025515c22a83c48ee7f3a2ed49804766c35f6ea5","integrity":"sha256-SF5x9h/1d3NdvEuhAlUVwiqDxI7n86LtSYBHZsNfbqU="},"flags/4x3/tg-24b25f4c2213fe35e5f5586d7ab23abf0c25ad2049708cd52ba72e1ec7b754ff.svg":{"logical_path":"flags/4x3/tg.svg","mtime":"2020-01-16T20:20:11+01:00","size":725,"digest":"24b25f4c2213fe35e5f5586d7ab23abf0c25ad2049708cd52ba72e1ec7b754ff","integrity":"sha256-JLJfTCIT/jXl9VhterI6vwwlrSBJcIzVK6cuHse3VP8="},"flags/1x1/tg-05f3d98392a5ec3e4aecf8f629d3d03f05ac55abb7d9d84187d599acfe271374.svg":{"logical_path":"flags/1x1/tg.svg","mtime":"2020-01-16T20:20:11+01:00","size":736,"digest":"05f3d98392a5ec3e4aecf8f629d3d03f05ac55abb7d9d84187d599acfe271374","integrity":"sha256-BfPZg5Kl7D5K7Pj2KdPQPwWsVau32dhBh9WZrP4nE3Q="},"flags/4x3/th-cc936bacd84dddd15454ef06bc64e357f83854af34692fc37363272d61f637d4.svg":{"logical_path":"flags/4x3/th.svg","mtime":"2020-01-16T20:20:11+01:00","size":287,"digest":"cc936bacd84dddd15454ef06bc64e357f83854af34692fc37363272d61f637d4","integrity":"sha256-zJNrrNhN3dFUVO8GvGTjV/g4VK80aS/Dc2MnLWH2N9Q="},"flags/1x1/th-de82cbd770db2be53a8e3d59d86e2b748a5d3f96eb8584f7b9364cefbd06a172.svg":{"logical_path":"flags/1x1/th.svg","mtime":"2020-01-16T20:20:11+01:00","size":288,"digest":"de82cbd770db2be53a8e3d59d86e2b748a5d3f96eb8584f7b9364cefbd06a172","integrity":"sha256-3oLL13DbK+U6jj1Z2G4rdIpdP5brhYT3uTZM770GoXI="},"flags/4x3/tj-b90bf3e2dd63265d55b67962b160df65f021c42b6ea304e2943c10b9e2a8749d.svg":{"logical_path":"flags/4x3/tj.svg","mtime":"2020-01-16T20:20:11+01:00","size":1831,"digest":"b90bf3e2dd63265d55b67962b160df65f021c42b6ea304e2943c10b9e2a8749d","integrity":"sha256-uQvz4t1jJl1VtnlisWDfZfAhxCtuowTilDwQueKodJ0="},"flags/1x1/tj-5f6571e74b1f8720f9ecc2d3aa2098ca45d2e7ad6602b2a57c206384719b9f36.svg":{"logical_path":"flags/1x1/tj.svg","mtime":"2020-01-16T20:20:11+01:00","size":1788,"digest":"5f6571e74b1f8720f9ecc2d3aa2098ca45d2e7ad6602b2a57c206384719b9f36","integrity":"sha256-X2Vx50sfhyD57MLTqiCYykXS561mArKlfCBjhHGbnzY="},"flags/4x3/tk-602520b29b909c96baea17a38eb654d6c6fbc7088f46a0cb8d8fe34ff92e3cb8.svg":{"logical_path":"flags/4x3/tk.svg","mtime":"2020-01-16T20:20:11+01:00","size":791,"digest":"602520b29b909c96baea17a38eb654d6c6fbc7088f46a0cb8d8fe34ff92e3cb8","integrity":"sha256-YCUgspuQnJa66hejjrZU1sb7xwiPRqDLjY/jT/kuPLg="},"flags/1x1/tk-fe1dc8aaa0643a45a74ecec8aec09f0fe2207d104bb3c28c0b84405f1275aeba.svg":{"logical_path":"flags/1x1/tk.svg","mtime":"2020-01-16T20:20:11+01:00","size":781,"digest":"fe1dc8aaa0643a45a74ecec8aec09f0fe2207d104bb3c28c0b84405f1275aeba","integrity":"sha256-/h3IqqBkOkWnTs7IrsCfD+IgfRBLs8KMC4RAXxJ1rro="},"flags/4x3/tl-ebdb862aa5ae5de1a72242571deaa70bfb222f488a93b70e304f2075b474d54b.svg":{"logical_path":"flags/4x3/tl.svg","mtime":"2020-01-16T20:20:11+01:00","size":600,"digest":"ebdb862aa5ae5de1a72242571deaa70bfb222f488a93b70e304f2075b474d54b","integrity":"sha256-69uGKqWuXeGnIkJXHeqnC/siL0iKk7cOME8gdbR01Us="},"flags/1x1/tl-485f02183bdb192ba3ce6e5f076e184112739f883ae0a8fde33c454377b848d6.svg":{"logical_path":"flags/1x1/tl.svg","mtime":"2020-01-16T20:20:11+01:00","size":582,"digest":"485f02183bdb192ba3ce6e5f076e184112739f883ae0a8fde33c454377b848d6","integrity":"sha256-SF8CGDvbGSujzm5fB24YQRJzn4g64Kj94zxFQ3e4SNY="},"flags/4x3/tm-5ddb4128bf0becd7c60413d5418027f5f01ca4bc72561d54b94febfee7a5a24b.svg":{"logical_path":"flags/4x3/tm.svg","mtime":"2020-01-16T20:20:11+01:00","size":32579,"digest":"5ddb4128bf0becd7c60413d5418027f5f01ca4bc72561d54b94febfee7a5a24b","integrity":"sha256-XdtBKL8L7NfGBBPVQYAn9fAcpLxyVh1UuU/r/ueloks="},"flags/1x1/tm-3521ad569a4095aa8d4166d5d9094fccfdbb3ea411207ad685b6dd5814ef3392.svg":{"logical_path":"flags/1x1/tm.svg","mtime":"2020-01-16T20:20:11+01:00","size":31884,"digest":"3521ad569a4095aa8d4166d5d9094fccfdbb3ea411207ad685b6dd5814ef3392","integrity":"sha256-NSGtVppAlaqNQWbV2QlPzP27PqQRIHrWhbbdWBTvM5I="},"flags/4x3/tn-ca27eb50d88b11d20b5b09e2bbecb7753267222489920c526608e5d2acd22d79.svg":{"logical_path":"flags/4x3/tn.svg","mtime":"2020-01-16T20:20:11+01:00","size":753,"digest":"ca27eb50d88b11d20b5b09e2bbecb7753267222489920c526608e5d2acd22d79","integrity":"sha256-yifrUNiLEdILWwniu+y3dTJnIiSJkgxSZgjl0qzSLXk="},"flags/1x1/tn-222c6cd4742c558f48ebcacb47ea334057642fffa3456a1c75e0fad9e728d09b.svg":{"logical_path":"flags/1x1/tn.svg","mtime":"2020-01-16T20:20:11+01:00","size":743,"digest":"222c6cd4742c558f48ebcacb47ea334057642fffa3456a1c75e0fad9e728d09b","integrity":"sha256-Iixs1HQsVY9I68rLR+ozQFdkL/+jRWocdeD62eco0Js="},"flags/4x3/to-c9c509fc24f591fbe52bbf732c44291384c787796e1fc9c703a973587c3f8ad1.svg":{"logical_path":"flags/4x3/to.svg","mtime":"2020-01-16T20:20:11+01:00","size":358,"digest":"c9c509fc24f591fbe52bbf732c44291384c787796e1fc9c703a973587c3f8ad1","integrity":"sha256-ycUJ/CT1kfvlK79zLEQpE4THh3luH8nHA6lzWHw/itE="},"flags/1x1/to-cf26dfb44b56b915b2f11896355cb778b938ed54423311d69d7cda9626887dda.svg":{"logical_path":"flags/1x1/to.svg","mtime":"2020-01-16T20:20:11+01:00","size":364,"digest":"cf26dfb44b56b915b2f11896355cb778b938ed54423311d69d7cda9626887dda","integrity":"sha256-zybftEtWuRWy8RiWNVy3eLk47VRCMxHWnXzaliaIfdo="},"flags/4x3/tr-c40f697070cf8d8358785b9203d1c8f438976e3cd644a87d9ee16fa9960deaa4.svg":{"logical_path":"flags/4x3/tr.svg","mtime":"2020-01-16T20:20:11+01:00","size":557,"digest":"c40f697070cf8d8358785b9203d1c8f438976e3cd644a87d9ee16fa9960deaa4","integrity":"sha256-xA9pcHDPjYNYeFuSA9HI9DiXbjzWRKh9nuFvqZYN6qQ="},"flags/1x1/tr-627dcf91a1e5153c045e33a3459b5d56002530fddd3fc53927f4d0fb7ea004a5.svg":{"logical_path":"flags/1x1/tr.svg","mtime":"2020-01-16T20:20:11+01:00","size":578,"digest":"627dcf91a1e5153c045e33a3459b5d56002530fddd3fc53927f4d0fb7ea004a5","integrity":"sha256-Yn3PkaHlFTwEXjOjRZtdVgAlMP3dP8U5J/TQ+36gBKU="},"flags/4x3/tt-04786ffedbde2c96a30ad1cbf4db000848f14bd700324651fc88364e5f3c2fd0.svg":{"logical_path":"flags/4x3/tt.svg","mtime":"2020-01-16T20:20:11+01:00","size":324,"digest":"04786ffedbde2c96a30ad1cbf4db000848f14bd700324651fc88364e5f3c2fd0","integrity":"sha256-BHhv/tveLJajCtHL9NsACEjxS9cAMkZR/Ig2Tl88L9A="},"flags/1x1/tt-6a3c73bfa7782366d95e673d847ef8f84c0475b364d359def1efd264297bac30.svg":{"logical_path":"flags/1x1/tt.svg","mtime":"2020-01-16T20:20:11+01:00","size":323,"digest":"6a3c73bfa7782366d95e673d847ef8f84c0475b364d359def1efd264297bac30","integrity":"sha256-ajxzv6d4I2bZXmc9hH74+EwEdbNk01ne8e/SZCl7rDA="},"flags/4x3/tv-20b56e7c0a2fbaa2a0b7b1bd87afc6368440f175fb3a0589de5e34e99d163fd7.svg":{"logical_path":"flags/4x3/tv.svg","mtime":"2020-01-16T20:20:11+01:00","size":2299,"digest":"20b56e7c0a2fbaa2a0b7b1bd87afc6368440f175fb3a0589de5e34e99d163fd7","integrity":"sha256-ILVufAovuqKgt7G9h6/GNoRA8XX7OgWJ3l406Z0WP9c="},"flags/1x1/tv-8bce1d7bde2e20dcc473ed3a33c66e4bedcf1acf2d2fff6d54353a480b8cafbc.svg":{"logical_path":"flags/1x1/tv.svg","mtime":"2020-01-16T20:20:11+01:00","size":2166,"digest":"8bce1d7bde2e20dcc473ed3a33c66e4bedcf1acf2d2fff6d54353a480b8cafbc","integrity":"sha256-i84de94uINzEc+06M8ZuS+3PGs8tL/9tVDU6SAuMr7w="},"flags/4x3/tw-36070ac0a15ab1f4811478da62e7678756a9aa266b141ed0549aba1c0e04333a.svg":{"logical_path":"flags/4x3/tw.svg","mtime":"2020-01-16T20:20:11+01:00","size":945,"digest":"36070ac0a15ab1f4811478da62e7678756a9aa266b141ed0549aba1c0e04333a","integrity":"sha256-NgcKwKFasfSBFHjaYudnh1apqiZrFB7QVJq6HA4EMzo="},"flags/1x1/tw-fd7a0db2f3808842ca99176f097356fe9e6f3c120d6aa9e8c4a9c2dd4c3943ba.svg":{"logical_path":"flags/1x1/tw.svg","mtime":"2020-01-16T20:20:11+01:00","size":960,"digest":"fd7a0db2f3808842ca99176f097356fe9e6f3c120d6aa9e8c4a9c2dd4c3943ba","integrity":"sha256-/XoNsvOAiELKmRdvCXNW/p5vPBINaqnoxKnC3Uw5Q7o="},"flags/4x3/tz-51ad7d69f059075df61b9226468af0d78642af4ad34a7540f64c5bea82e803d7.svg":{"logical_path":"flags/4x3/tz.svg","mtime":"2020-01-16T20:20:11+01:00","size":546,"digest":"51ad7d69f059075df61b9226468af0d78642af4ad34a7540f64c5bea82e803d7","integrity":"sha256-Ua19afBZB132G5ImRorw14ZCr0rTSnVA9kxb6oLoA9c="},"flags/1x1/tz-0703f29a7ae02a9a1753cb1726dd2934d75ed3a12e8d63faa9fa866e1fe61440.svg":{"logical_path":"flags/1x1/tz.svg","mtime":"2020-01-16T20:20:11+01:00","size":605,"digest":"0703f29a7ae02a9a1753cb1726dd2934d75ed3a12e8d63faa9fa866e1fe61440","integrity":"sha256-BwPymnrgKpoXU8sXJt0pNNde06EujWP6qfqGbh/mFEA="},"flags/4x3/ua-7f7db03c3b492aaacd11b0abac70d543a7c0ec5265a36d529bbb80a7c432d81a.svg":{"logical_path":"flags/4x3/ua.svg","mtime":"2020-01-16T20:20:11+01:00","size":241,"digest":"7f7db03c3b492aaacd11b0abac70d543a7c0ec5265a36d529bbb80a7c432d81a","integrity":"sha256-f32wPDtJKqrNEbCrrHDVQ6fA7FJlo21Sm7uAp8Qy2Bo="},"flags/1x1/ua-25192fa80f120edb1dd1c4757fd7b79ef38f5e1729238f4135003e6a1501bf28.svg":{"logical_path":"flags/1x1/ua.svg","mtime":"2020-01-16T20:20:11+01:00","size":241,"digest":"25192fa80f120edb1dd1c4757fd7b79ef38f5e1729238f4135003e6a1501bf28","integrity":"sha256-JRkvqA8SDtsd0cR1f9e3nvOPXhcpI49BNQA+ahUBvyg="},"flags/4x3/ug-7635df53eafdf411be0809df835bfbcffd61badd6c4df3db0909c8b3188015a0.svg":{"logical_path":"flags/4x3/ug.svg","mtime":"2020-01-16T20:20:11+01:00","size":3959,"digest":"7635df53eafdf411be0809df835bfbcffd61badd6c4df3db0909c8b3188015a0","integrity":"sha256-djXfU+r99BG+CAnfg1v7z/1hut1sTfPbCQnIsxiAFaA="},"flags/1x1/ug-537f34f64e723fbe7cb7902ea0e61303f1ada79214197efc39ebe2c52ce24186.svg":{"logical_path":"flags/1x1/ug.svg","mtime":"2020-01-16T20:20:11+01:00","size":4038,"digest":"537f34f64e723fbe7cb7902ea0e61303f1ada79214197efc39ebe2c52ce24186","integrity":"sha256-U3809k5yP758t5AuoOYTA/Gtp5IUGX78OevixSziQYY="},"flags/4x3/um-a0ae80e34bbf94677dd6052ea87cc0090aba747dab5440e5ca6e231f7f07c96d.svg":{"logical_path":"flags/4x3/um.svg","mtime":"2020-01-16T20:20:11+01:00","size":4524,"digest":"a0ae80e34bbf94677dd6052ea87cc0090aba747dab5440e5ca6e231f7f07c96d","integrity":"sha256-oK6A40u/lGd91gUuqHzACQq6dH2rVEDlym4jH38HyW0="},"flags/1x1/um-3f1bc09babe7fdcf32518bb49d1aac3a66d0204f955eacca291c58d4f4ef895a.svg":{"logical_path":"flags/1x1/um.svg","mtime":"2020-01-16T20:20:11+01:00","size":3975,"digest":"3f1bc09babe7fdcf32518bb49d1aac3a66d0204f955eacca291c58d4f4ef895a","integrity":"sha256-PxvAm6vn/c8yUYu0nRqsOmbQIE+VXqzKKRxY1PTviVo="},"flags/4x3/us-aefd8f7e57d11f7b0416d01d9c665ab3848b10af849f35a4d772d58d24d83329.svg":{"logical_path":"flags/4x3/us.svg","mtime":"2020-01-16T20:20:11+01:00","size":4468,"digest":"aefd8f7e57d11f7b0416d01d9c665ab3848b10af849f35a4d772d58d24d83329","integrity":"sha256-rv2PflfRH3sEFtAdnGZas4SLEK+EnzWk13LVjSTYMyk="},"flags/1x1/us-87af45be9346e8c820312976abe332ee11f8931e29fa361328d28660a711b1e2.svg":{"logical_path":"flags/1x1/us.svg","mtime":"2020-01-16T20:20:11+01:00","size":3924,"digest":"87af45be9346e8c820312976abe332ee11f8931e29fa361328d28660a711b1e2","integrity":"sha256-h69FvpNG6MggMSl2q+My7hH4kx4p+jYTKNKGYKcRseI="},"flags/4x3/uy-9f636c8283abf56cc930746fd427c1d1644dcf8736c537629df13f760da96ebc.svg":{"logical_path":"flags/4x3/uy.svg","mtime":"2020-01-16T20:20:11+01:00","size":1721,"digest":"9f636c8283abf56cc930746fd427c1d1644dcf8736c537629df13f760da96ebc","integrity":"sha256-n2NsgoOr9WzJMHRv1CfB0WRNz4c2xTdinfE/dg2pbrw="},"flags/1x1/uy-e216b762a93ec55bf9b4ae3d35b7febe0b192a12246fd66c45139ce77fb2095e.svg":{"logical_path":"flags/1x1/uy.svg","mtime":"2020-01-16T20:20:11+01:00","size":1718,"digest":"e216b762a93ec55bf9b4ae3d35b7febe0b192a12246fd66c45139ce77fb2095e","integrity":"sha256-4ha3Yqk+xVv5tK49Nbf+vgsZKhIkb9ZsRROc53+yCV4="},"flags/4x3/uz-697d596705372323beddccb3626d1ce405b36249315c6b006ff1529e24909ceb.svg":{"logical_path":"flags/4x3/uz.svg","mtime":"2020-01-16T20:20:11+01:00","size":1457,"digest":"697d596705372323beddccb3626d1ce405b36249315c6b006ff1529e24909ceb","integrity":"sha256-aX1ZZwU3IyO+3cyzYm0c5AWzYkkxXGsAb/FSniSQnOs="},"flags/1x1/uz-aa34cbe4f6f0e4b5d890975578d28cc9b1e88ebd503d3bdca693748eb29b3353.svg":{"logical_path":"flags/1x1/uz.svg","mtime":"2020-01-16T20:20:11+01:00","size":1457,"digest":"aa34cbe4f6f0e4b5d890975578d28cc9b1e88ebd503d3bdca693748eb29b3353","integrity":"sha256-qjTL5Pbw5LXYkJdVeNKMybHojr1QPTvcppN0jrKbM1M="},"flags/4x3/va-d24d3c5bee108c396997c3d5b2bd2273433752d8c222eb531650e51551a4afd0.svg":{"logical_path":"flags/4x3/va.svg","mtime":"2020-01-16T20:20:11+01:00","size":91241,"digest":"d24d3c5bee108c396997c3d5b2bd2273433752d8c222eb531650e51551a4afd0","integrity":"sha256-0k08W+4QjDlpl8PVsr0ic0M3UtjCIutTFlDlFVGkr9A="},"flags/1x1/va-01160c1bffda12f0b94554ba0c50162a88da807943617334bd4c57a030985e95.svg":{"logical_path":"flags/1x1/va.svg","mtime":"2020-01-16T20:20:11+01:00","size":90876,"digest":"01160c1bffda12f0b94554ba0c50162a88da807943617334bd4c57a030985e95","integrity":"sha256-ARYMG//aEvC5RVS6DFAWKojagHlDYXM0vUxXoDCYXpU="},"flags/4x3/vc-ddf979bee2889414e5a05ac55f39a9c93f34e0aff0d35f007605049a2d8b5afb.svg":{"logical_path":"flags/4x3/vc.svg","mtime":"2020-01-16T20:20:11+01:00","size":454,"digest":"ddf979bee2889414e5a05ac55f39a9c93f34e0aff0d35f007605049a2d8b5afb","integrity":"sha256-3fl5vuKIlBTloFrFXzmpyT804K/w018AdgUEmi2LWvs="},"flags/1x1/vc-ac776e16dec19ff2e2d9238f541dae5d977282b451a83ab3d4122efed2392be9.svg":{"logical_path":"flags/1x1/vc.svg","mtime":"2020-01-16T20:20:11+01:00","size":501,"digest":"ac776e16dec19ff2e2d9238f541dae5d977282b451a83ab3d4122efed2392be9","integrity":"sha256-rHduFt7Bn/Li2SOPVB2uXZdygrRRqDqz1BIu/tI5K+k="},"flags/4x3/ve-e23abd006cc75a8c4f9ec1cb122b46f9b52e26c5606532d2c868277d4ccd523b.svg":{"logical_path":"flags/4x3/ve.svg","mtime":"2020-01-16T20:20:11+01:00","size":1171,"digest":"e23abd006cc75a8c4f9ec1cb122b46f9b52e26c5606532d2c868277d4ccd523b","integrity":"sha256-4jq9AGzHWoxPnsHLEitG+bUuJsVgZTLSyGgnfUzNUjs="},"flags/1x1/ve-1480713f28719e0a83da2c5f1333407dbfa5bcc0de8c9ba718fcf47273ee95ef.svg":{"logical_path":"flags/1x1/ve.svg","mtime":"2020-01-16T20:20:11+01:00","size":1191,"digest":"1480713f28719e0a83da2c5f1333407dbfa5bcc0de8c9ba718fcf47273ee95ef","integrity":"sha256-FIBxPyhxngqD2ixfEzNAfb+lvMDejJunGPz0cnPule8="},"flags/4x3/vg-7f8f24a4d6995e4dd39e3d9098dad5e14649821fa12ffc200edf0a586285ee15.svg":{"logical_path":"flags/4x3/vg.svg","mtime":"2020-01-16T20:20:11+01:00","size":24818,"digest":"7f8f24a4d6995e4dd39e3d9098dad5e14649821fa12ffc200edf0a586285ee15","integrity":"sha256-f48kpNaZXk3Tnj2QmNrV4UZJgh+hL/wgDt8KWGKF7hU="},"flags/1x1/vg-b464b6a78e46c29df9e4bdadc2646208f11c59168706456075f970552a24efa8.svg":{"logical_path":"flags/1x1/vg.svg","mtime":"2020-01-16T20:20:11+01:00","size":24997,"digest":"b464b6a78e46c29df9e4bdadc2646208f11c59168706456075f970552a24efa8","integrity":"sha256-tGS2p45Gwp355L2twmRiCPEcWRaHBkVgdflwVSok76g="},"flags/4x3/vi-58311325a293b046044976d899f288ce0fbe9bfd705a23947a9b38d7991983d7.svg":{"logical_path":"flags/4x3/vi.svg","mtime":"2020-01-16T20:20:11+01:00","size":8775,"digest":"58311325a293b046044976d899f288ce0fbe9bfd705a23947a9b38d7991983d7","integrity":"sha256-WDETJaKTsEYESXbYmfKIzg++m/1wWiOUeps415kZg9c="},"flags/1x1/vi-1c132d2cff66cdbdb7b6acf504bb0cd9d7579595d80c3fa6604ff24ca7a0184d.svg":{"logical_path":"flags/1x1/vi.svg","mtime":"2020-01-16T20:20:11+01:00","size":8730,"digest":"1c132d2cff66cdbdb7b6acf504bb0cd9d7579595d80c3fa6604ff24ca7a0184d","integrity":"sha256-HBMtLP9mzb23tqz1BLsM2ddXlZXYDD+mYE/yTKegGE0="},"flags/4x3/vn-a918d3c9cdc368b1d2ff9614d58cbcd1d43b725889b0ba18f5d4e693071e389a.svg":{"logical_path":"flags/4x3/vn.svg","mtime":"2020-01-16T20:20:11+01:00","size":492,"digest":"a918d3c9cdc368b1d2ff9614d58cbcd1d43b725889b0ba18f5d4e693071e389a","integrity":"sha256-qRjTyc3DaLHS/5YU1Yy80dQ7cliJsLoY9dTmkwceOJo="},"flags/1x1/vn-895e428ae3d98c99dbb02088cf8ef040bfb031df6f16c3c8fc3678505d869791.svg":{"logical_path":"flags/1x1/vn.svg","mtime":"2020-01-16T20:20:11+01:00","size":501,"digest":"895e428ae3d98c99dbb02088cf8ef040bfb031df6f16c3c8fc3678505d869791","integrity":"sha256-iV5CiuPZjJnbsCCIz47wQL+wMd9vFsPI/DZ4UF2Gl5E="},"flags/4x3/vu-2c286c778a7bed03cb603ab24b68dc91868f4f054cf4f851bdd17aa16731571c.svg":{"logical_path":"flags/4x3/vu.svg","mtime":"2020-01-16T20:20:11+01:00","size":3771,"digest":"2c286c778a7bed03cb603ab24b68dc91868f4f054cf4f851bdd17aa16731571c","integrity":"sha256-LChsd4p77QPLYDqyS2jckYaPTwVM9PhRvdF6oWcxVxw="},"flags/1x1/vu-51ef23121e2641ebeeac50d31c4e52b7d00d3ab1bc9fc0ad95ea86fd3631975a.svg":{"logical_path":"flags/1x1/vu.svg","mtime":"2020-01-16T20:20:11+01:00","size":3740,"digest":"51ef23121e2641ebeeac50d31c4e52b7d00d3ab1bc9fc0ad95ea86fd3631975a","integrity":"sha256-Ue8jEh4mQevurFDTHE5St9ANOrG8n8CtleqG/TYxl1o="},"flags/4x3/wf-f7e9ac5edac196ac32d7bafa04b5c0d924b89e9d7e4f3535a6a26c6c1523639c.svg":{"logical_path":"flags/4x3/wf.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"f7e9ac5edac196ac32d7bafa04b5c0d924b89e9d7e4f3535a6a26c6c1523639c","integrity":"sha256-9+msXtrBlqwy17r6BLXA2SS4np1+TzU1pqJsbBUjY5w="},"flags/1x1/wf-95a920a79aa32d92f8a362321aae4230e17025ac04d976593f4423d0c37c1aee.svg":{"logical_path":"flags/1x1/wf.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"95a920a79aa32d92f8a362321aae4230e17025ac04d976593f4423d0c37c1aee","integrity":"sha256-lakgp5qjLZL4o2IyGq5CMOFwJawE2XZZP0Qj0MN8Gu4="},"flags/4x3/ws-efc6505a802a3fa2018bc102fc2e11db8c738464c619381b6edc32d0a89341a3.svg":{"logical_path":"flags/4x3/ws.svg","mtime":"2020-01-16T20:20:11+01:00","size":663,"digest":"efc6505a802a3fa2018bc102fc2e11db8c738464c619381b6edc32d0a89341a3","integrity":"sha256-78ZQWoAqP6IBi8EC/C4R24xzhGTGGTgbbtwy0KiTQaM="},"flags/1x1/ws-e3afb81c037c814620027bf61ac5e266683cab7ba5796ecf10b64c110cfcb932.svg":{"logical_path":"flags/1x1/ws.svg","mtime":"2020-01-16T20:20:11+01:00","size":645,"digest":"e3afb81c037c814620027bf61ac5e266683cab7ba5796ecf10b64c110cfcb932","integrity":"sha256-46+4HAN8gUYgAnv2GsXiZmg8q3uleW7PELZMEQz8uTI="},"flags/4x3/ye-fd88856e70d66b01b4f0f608936a61cf3b1d9dad40a2932fc5da4d01f72a447b.svg":{"logical_path":"flags/4x3/ye.svg","mtime":"2020-01-16T20:20:11+01:00","size":278,"digest":"fd88856e70d66b01b4f0f608936a61cf3b1d9dad40a2932fc5da4d01f72a447b","integrity":"sha256-/YiFbnDWawG08PYIk2phzzsdna1AopMvxdpNAfcqRHs="},"flags/1x1/ye-0c0e32330871e6d83af54affb7dadbbe736f9799068508211fbae54db9bbdcc6.svg":{"logical_path":"flags/1x1/ye.svg","mtime":"2020-01-16T20:20:11+01:00","size":278,"digest":"0c0e32330871e6d83af54affb7dadbbe736f9799068508211fbae54db9bbdcc6","integrity":"sha256-DA4yMwhx5tg69Ur/t9rbvnNvl5kGhQghH7rlTbm73MY="},"flags/4x3/yt-2eef17b543424082d9f9b42a67e84c20b52e7f7eae8c4326d60711158da51d5b.svg":{"logical_path":"flags/4x3/yt.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"2eef17b543424082d9f9b42a67e84c20b52e7f7eae8c4326d60711158da51d5b","integrity":"sha256-Lu8XtUNCQILZ+bQqZ+hMILUuf36ujEMm1gcRFY2lHVs="},"flags/1x1/yt-911da8075337fd8f75ecc8a338c294cb771c6b9a08576f96c9de1437888cd2a7.svg":{"logical_path":"flags/1x1/yt.svg","mtime":"2020-01-16T20:20:11+01:00","size":295,"digest":"911da8075337fd8f75ecc8a338c294cb771c6b9a08576f96c9de1437888cd2a7","integrity":"sha256-kR2oB1M3/Y917MijOMKUy3cca5oIV2+Wyd4UN4iM0qc="},"flags/4x3/za-45991a2aee307198510e56bf92523070aac4241cafe6c3ddb8f89b20a61d6371.svg":{"logical_path":"flags/4x3/za.svg","mtime":"2020-01-16T20:20:11+01:00","size":856,"digest":"45991a2aee307198510e56bf92523070aac4241cafe6c3ddb8f89b20a61d6371","integrity":"sha256-RZkaKu4wcZhRDla/klIwcKrEJByv5sPduPibIKYdY3E="},"flags/1x1/za-bc09a89b29311ea7e582ef60bf4e18aff7c29de6fbefe309463ca765723a0ce8.svg":{"logical_path":"flags/1x1/za.svg","mtime":"2020-01-16T20:20:11+01:00","size":875,"digest":"bc09a89b29311ea7e582ef60bf4e18aff7c29de6fbefe309463ca765723a0ce8","integrity":"sha256-vAmomykxHqflgu9gv04Yr/fCneb77+MJRjynZXI6DOg="},"flags/4x3/zm-07c0f30d86e66d0cad9d66cd9c9384d9cce1844f159d245deff6717101fe49c2.svg":{"logical_path":"flags/4x3/zm.svg","mtime":"2020-01-16T20:20:11+01:00","size":5508,"digest":"07c0f30d86e66d0cad9d66cd9c9384d9cce1844f159d245deff6717101fe49c2","integrity":"sha256-B8DzDYbmbQytnWbNnJOE2czhhE8VnSRd7/ZxcQH+ScI="},"flags/1x1/zm-fc5bce3834c71fe36617ea5f57f0bd1dcf3880a7c6aa515dcf92ae067f796241.svg":{"logical_path":"flags/1x1/zm.svg","mtime":"2020-01-16T20:20:11+01:00","size":5429,"digest":"fc5bce3834c71fe36617ea5f57f0bd1dcf3880a7c6aa515dcf92ae067f796241","integrity":"sha256-/FvOODTHH+NmF+pfV/C9Hc84gKfGqlFdz5KuBn95YkE="},"flags/4x3/zw-5217c74f14d9fdda244b69c5982bbabee052ac0f1cc0704926e8b1e621e50f9a.svg":{"logical_path":"flags/4x3/zw.svg","mtime":"2020-01-16T20:20:11+01:00","size":6791,"digest":"5217c74f14d9fdda244b69c5982bbabee052ac0f1cc0704926e8b1e621e50f9a","integrity":"sha256-UhfHTxTZ/dokS2nFmCu6vuBSrA8cwHBJJuix5iHlD5o="},"flags/1x1/zw-a33b191c631709b9e1d85e06f5b15535fb544d4668c8bef865ede2a0b6a88ed9.svg":{"logical_path":"flags/1x1/zw.svg","mtime":"2020-01-16T20:20:11+01:00","size":6770,"digest":"a33b191c631709b9e1d85e06f5b15535fb544d4668c8bef865ede2a0b6a88ed9","integrity":"sha256-ozsZHGMXCbnh2F4G9bFVNftUTUZoyL74Ze3ioLaojtk="},"flags/4x3/es-ct-bcbb454a50c9a647efd43dcf041445f15e8dd70654bde530bf62401d4fb7738d.svg":{"logical_path":"flags/4x3/es-ct.svg","mtime":"2020-01-16T20:20:11+01:00","size":261,"digest":"bcbb454a50c9a647efd43dcf041445f15e8dd70654bde530bf62401d4fb7738d","integrity":"sha256-vLtFSlDJpkfv1D3PBBRF8V6N1wZUveUwv2JAHU+3c40="},"flags/1x1/es-ct-7f13eb2b2f5c11dccd7043286bed7540d4dad4b1a8367b0aca1b8405a351b2ef.svg":{"logical_path":"flags/1x1/es-ct.svg","mtime":"2020-01-16T20:20:11+01:00","size":260,"digest":"7f13eb2b2f5c11dccd7043286bed7540d4dad4b1a8367b0aca1b8405a351b2ef","integrity":"sha256-fxPrKy9cEdzNcEMoa+11QNTa1LGoNnsKyhuEBaNRsu8="},"flags/4x3/eu-5f129db64306353251b78f998d531d2f1019404cfa890ae63ed70dc316c7f240.svg":{"logical_path":"flags/4x3/eu.svg","mtime":"2020-01-16T20:20:11+01:00","size":1252,"digest":"5f129db64306353251b78f998d531d2f1019404cfa890ae63ed70dc316c7f240","integrity":"sha256-XxKdtkMGNTJRt4+ZjVMdLxAZQEz6iQrmPtcNwxbH8kA="},"flags/1x1/eu-ec59ac8daf2a63ea8e299ad63a208445d68a96affe6a10a7328acb6799d44127.svg":{"logical_path":"flags/1x1/eu.svg","mtime":"2020-01-16T20:20:11+01:00","size":1253,"digest":"ec59ac8daf2a63ea8e299ad63a208445d68a96affe6a10a7328acb6799d44127","integrity":"sha256-7Fmsja8qY+qOKZrWOiCERdaKlq/+ahCnMorLZ5nUQSc="},"flags/4x3/gb-eng-1895f4e35ae299f5d869da2462ffcf98df4b08dcddc531c8f175e49720001a14.svg":{"logical_path":"flags/4x3/gb-eng.svg","mtime":"2020-01-16T20:20:11+01:00","size":245,"digest":"1895f4e35ae299f5d869da2462ffcf98df4b08dcddc531c8f175e49720001a14","integrity":"sha256-GJX041rimfXYadokYv/PmN9LCNzdxTHI8XXklyAAGhQ="},"flags/1x1/gb-eng-d11afb87f40f35acda435a886ea044bd5e0b6f363ba0c7319f1d0181551fecf3.svg":{"logical_path":"flags/1x1/gb-eng.svg","mtime":"2020-01-16T20:20:11+01:00","size":235,"digest":"d11afb87f40f35acda435a886ea044bd5e0b6f363ba0c7319f1d0181551fecf3","integrity":"sha256-0Rr7h/QPNazaQ1qIbqBEvV4LbzY7oMcxnx0BgVUf7PM="},"flags/4x3/gb-nir-b280f09c787f495c1074376cd67537b40216f672917e7d204bb12b8e7c72afaf.svg":{"logical_path":"flags/4x3/gb-nir.svg","mtime":"2020-01-16T20:20:11+01:00","size":23738,"digest":"b280f09c787f495c1074376cd67537b40216f672917e7d204bb12b8e7c72afaf","integrity":"sha256-soDwnHh/SVwQdDds1nU3tAIW9nKRfn0gS7Erjnxyr68="},"flags/1x1/gb-nir-2e516e72e0e8e244ef430e6608322f8c4fb276807ab033279b2a6570dd68fd41.svg":{"logical_path":"flags/1x1/gb-nir.svg","mtime":"2020-01-16T20:20:11+01:00","size":25263,"digest":"2e516e72e0e8e244ef430e6608322f8c4fb276807ab033279b2a6570dd68fd41","integrity":"sha256-LlFucuDo4kTvQw5mCDIvjE+ydoB6sDMnmyplcN1o/UE="},"flags/4x3/gb-sct-1b9e407802ae901cf8da740c382ec2b19821837d76271a73346e0c63c2244506.svg":{"logical_path":"flags/4x3/gb-sct.svg","mtime":"2020-01-16T20:20:11+01:00","size":234,"digest":"1b9e407802ae901cf8da740c382ec2b19821837d76271a73346e0c63c2244506","integrity":"sha256-G55AeAKukBz42nQMOC7CsZghg312JxpzNG4MY8IkRQY="},"flags/1x1/gb-sct-d01e8a06a340e30ce52e8a3aba7ca6207afb96fdb238a815cc6cb92df8fa5df3.svg":{"logical_path":"flags/1x1/gb-sct.svg","mtime":"2020-01-16T20:20:11+01:00","size":242,"digest":"d01e8a06a340e30ce52e8a3aba7ca6207afb96fdb238a815cc6cb92df8fa5df3","integrity":"sha256-0B6KBqNA4wzlLoo6unymIHr7lv2yOKgVzGy5Lfj6XfM="},"flags/4x3/gb-wls-5232b3e376a19866cddec8225cba242783b2a48063811957f1ce5a2c347c5bc9.svg":{"logical_path":"flags/4x3/gb-wls.svg","mtime":"2020-01-16T20:20:11+01:00","size":9188,"digest":"5232b3e376a19866cddec8225cba242783b2a48063811957f1ce5a2c347c5bc9","integrity":"sha256-UjKz43ahmGbN3sgiXLokJ4OypIBjgRlX8c5aLDR8W8k="},"flags/1x1/gb-wls-126615bc3597fda1ca4ee931ef24f6c2cf2547998c06db9c1ded69fe66c479e9.svg":{"logical_path":"flags/1x1/gb-wls.svg","mtime":"2020-01-16T20:20:11+01:00","size":9083,"digest":"126615bc3597fda1ca4ee931ef24f6c2cf2547998c06db9c1ded69fe66c479e9","integrity":"sha256-EmYVvDWX/aHKTukx7yT2ws8lR5mMBtucHe1p/mbEeek="},"flags/4x3/un-31dece22ae18c3e01e86648ef3ef45f2f5b3d9d28a1e2bbbcdb1d87c37af55af.svg":{"logical_path":"flags/4x3/un.svg","mtime":"2020-01-16T20:20:11+01:00","size":20268,"digest":"31dece22ae18c3e01e86648ef3ef45f2f5b3d9d28a1e2bbbcdb1d87c37af55af","integrity":"sha256-Md7OIq4Yw+AehmSO8+9F8vWz2dKKHiu7zbHYfDevVa8="},"flags/1x1/un-455b5f3173ca9ac64f2135fac4ead7217d7fbe07551d0d2cc60216f83208f798.svg":{"logical_path":"flags/1x1/un.svg","mtime":"2020-01-16T20:20:11+01:00","size":20476,"digest":"455b5f3173ca9ac64f2135fac4ead7217d7fbe07551d0d2cc60216f83208f798","integrity":"sha256-RVtfMXPKmsZPITX6xOrXIX1/vgdVHQ0sxgIW+DII95g="},"leaflet/dist/images/layers-1dbbe9d028e292f36fcba8f8b3a28d5e8932754fc2215b9ac69e4cdecf5107c6.png":{"logical_path":"leaflet/dist/images/layers.png","mtime":"2020-01-16T20:20:11+01:00","size":696,"digest":"1dbbe9d028e292f36fcba8f8b3a28d5e8932754fc2215b9ac69e4cdecf5107c6","integrity":"sha256-Hbvp0CjikvNvy6j4s6KNXokydU/CIVuaxp5M3s9RB8Y="},"leaflet/dist/images/layers-2x-066daca850d8ffbef007af00b06eac0015728dee279c51f3cb6c716df7c42edf.png":{"logical_path":"leaflet/dist/images/layers-2x.png","mtime":"2020-01-16T20:20:11+01:00","size":1259,"digest":"066daca850d8ffbef007af00b06eac0015728dee279c51f3cb6c716df7c42edf","integrity":"sha256-Bm2sqFDY/77wB68AsG6sABVyje4nnFHzy2xxbffELt8="},"leaflet/dist/images/marker-icon-574c3a5cca85f4114085b6841596d62f00d7c892c7b03f28cbfa301deb1dc437.png":{"logical_path":"leaflet/dist/images/marker-icon.png","mtime":"2020-01-16T20:20:11+01:00","size":1466,"digest":"574c3a5cca85f4114085b6841596d62f00d7c892c7b03f28cbfa301deb1dc437","integrity":"sha256-V0w6XMqF9BFAhbaEFZbWLwDXyJLHsD8oy/owHesdxDc="},"markers-soft-e78784e4ed70aaffddd73c315fab590233cc4e7b72388d7dd47a14796fc7c739.png":{"logical_path":"markers-soft.png","mtime":"2020-01-16T20:20:11+01:00","size":41226,"digest":"e78784e4ed70aaffddd73c315fab590233cc4e7b72388d7dd47a14796fc7c739","integrity":"sha256-54eE5O1wqv/d1zwxX6tZAjPMTntyOI191HoUeW/Hxzk="},"markers-shadow-8703a2262710f5e3d29e65d2acdf90d6512e159e119d27b8234731d8a6208a20.png":{"logical_path":"markers-shadow.png","mtime":"2020-01-16T20:20:11+01:00","size":535,"digest":"8703a2262710f5e3d29e65d2acdf90d6512e159e119d27b8234731d8a6208a20","integrity":"sha256-hwOiJicQ9ePSnmXSrN+Q1lEuFZ4RnSe4I0cx2KYgiiA="},"markers-soft@2x-c1e77253a8bfbe30cec24885d7046f443b76ebb66f4c961f77083b03f4a5cbaf.png":{"logical_path":"markers-soft@2x.png","mtime":"2020-01-16T20:20:11+01:00","size":66408,"digest":"c1e77253a8bfbe30cec24885d7046f443b76ebb66f4c961f77083b03f4a5cbaf","integrity":"sha256-wedyU6i/vjDOwkiF1wRvRDt267ZvTJYfdwg7A/Sly68="},"markers-shadow@2x-b21a536be27313fb504f69f5899ff0b1245b276571769ac08d6c32c35676e47a.png":{"logical_path":"markers-shadow@2x.png","mtime":"2020-01-16T20:20:11+01:00","size":1469,"digest":"b21a536be27313fb504f69f5899ff0b1245b276571769ac08d6c32c35676e47a","integrity":"sha256-shpTa+JzE/tQT2n1iZ/wsSRbJ2VxdprAjWwyw1Z25Ho="},"events-f12a16c68c84767cfc222c763d56e2209bc4d5ad519f05095f2d4429c0b1a315.js":{"logical_path":"events.js","mtime":"2020-01-16T20:20:11+01:00","size":1220,"digest":"f12a16c68c84767cfc222c763d56e2209bc4d5ad519f05095f2d4429c0b1a315","integrity":"sha256-8SoWxoyEdnz8Iix2PVbiIJvE1a1RnwUJXy1EKcCxoxU="},"filter-2ec96b9d0c650c880941d7e9fd568decd1d587dc037d106144a07ad103b0e0ca.js":{"logical_path":"filter.js","mtime":"2020-01-16T20:20:11+01:00","size":292,"digest":"2ec96b9d0c650c880941d7e9fd568decd1d587dc037d106144a07ad103b0e0ca","integrity":"sha256-LslrnQxlDIgJQdfp/VaN7NHVh9wDfRBhRKB60QOw4Mo="},"flash-41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7.js":{"logical_path":"flash.js","mtime":"2020-01-16T20:20:11+01:00","size":82,"digest":"41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7","integrity":"sha256-QfW5Ugb3poS4nrmXhGoBFV+UqwtlaLQnVwTT8oX1mdc="},"frTypo-fed98b7d2ce187c2a3cff9153ac6aa2dbf7b91d33809da77c6561ff34d1be836.js":{"logical_path":"frTypo.js","mtime":"2020-01-16T20:20:11+01:00","size":1962,"digest":"fed98b7d2ce187c2a3cff9153ac6aa2dbf7b91d33809da77c6561ff34d1be836","integrity":"sha256-/tmLfSzhh8Kjz/kVOsaqLb97kdM4Cdp3xlYf800b6DY="},"list-41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7.js":{"logical_path":"list.js","mtime":"2020-01-16T20:20:11+01:00","size":82,"digest":"41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7","integrity":"sha256-QfW5Ugb3poS4nrmXhGoBFV+UqwtlaLQnVwTT8oX1mdc="},"maps-e86261c3df6f4ff292d786ab7261c98c408f466557b2f4915ae6dc25c1a05819.js":{"logical_path":"maps.js","mtime":"2020-01-07T21:15:22+01:00","size":3970,"digest":"e86261c3df6f4ff292d786ab7261c98c408f466557b2f4915ae6dc25c1a05819","integrity":"sha256-6GJhw99vT/KS14arcmHJjECPRmVXsvSRWubcJcGgWBk="},"moderations-c5471afdd75123fdbb36ee14b85e6633c8127d0c115e35931616c329a8605380.js":{"logical_path":"moderations.js","mtime":"2020-01-16T20:20:11+01:00","size":377,"digest":"c5471afdd75123fdbb36ee14b85e6633c8127d0c115e35931616c329a8605380","integrity":"sha256-xUca/ddRI/27Nu4UuF5mM8gSfQwRXjWTFhbDKahgU4A="},"notes-85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb.js":{"logical_path":"notes.js","mtime":"2020-01-16T20:20:11+01:00","size":31,"digest":"85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb","integrity":"sha256-hYGcc4kg1P4+a4lxZ4hZDSey20sRgCwKDN1Iuu+xj8s="},"orgas-85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb.js":{"logical_path":"orgas.js","mtime":"2020-01-16T20:20:11+01:00","size":31,"digest":"85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb","integrity":"sha256-hYGcc4kg1P4+a4lxZ4hZDSey20sRgCwKDN1Iuu+xj8s="},"pages-9dcc8cb3626a9f198ab95f9e64bb4d269167a7405dd07f94140f5ec6d32b6084.js":{"logical_path":"pages.js","mtime":"2020-01-16T20:20:11+01:00","size":694,"digest":"9dcc8cb3626a9f198ab95f9e64bb4d269167a7405dd07f94140f5ec6d32b6084","integrity":"sha256-ncyMs2JqnxmKuV+eZLtNJpFnp0Bd0H+UFA9extMrYIQ="},"pagination-ab6b8afabe3d53764287ed9d0ee9d4b7092cab98cdfb453a54471066fed05aa5.js":{"logical_path":"pagination.js","mtime":"2020-01-16T20:20:11+01:00","size":728,"digest":"ab6b8afabe3d53764287ed9d0ee9d4b7092cab98cdfb453a54471066fed05aa5","integrity":"sha256-q2uK+r49U3ZCh+2dDunUtwksq5jN+0U6VEcQZv7QWqU="},"setup_tinymce-f15efe5d488b3807165ccb6d0b237be3ba234c67200d309a1fa9dc4bf0d2ee08.js":{"logical_path":"setup_tinymce.js","mtime":"2019-12-22T12:30:30+01:00","size":1033,"digest":"f15efe5d488b3807165ccb6d0b237be3ba234c67200d309a1fa9dc4bf0d2ee08","integrity":"sha256-8V7+XUiLOAcWXMttCyN747ojTGcgDTCaH6ncS/DS7gg="},"stats-40295d647e6144715bc9fb45f60096ddff913afddf11844aeacda47cbed68400.js":{"logical_path":"stats.js","mtime":"2020-01-16T20:20:11+01:00","size":908,"digest":"40295d647e6144715bc9fb45f60096ddff913afddf11844aeacda47cbed68400","integrity":"sha256-QCldZH5hRHFbyftF9gCW3f+ROv3fEYRK6s2kfL7WhAA="},"_variables-d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6.css":{"logical_path":"_variables.css","mtime":"2020-01-16T20:20:11+01:00","size":0,"digest":"d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6","integrity":"sha256-0P9ZdLaqUs9WK+pZIYQMAyqGCpGjUS9/6Pdo9rvgBfY="},"agendadescommuns-734d24884af76ee167fcf102dbdbec43e5b2726e65f40c350ad3800f7ee99f55.css":{"logical_path":"agendadescommuns.css","mtime":"2020-01-16T20:20:11+01:00","size":939,"digest":"734d24884af76ee167fcf102dbdbec43e5b2726e65f40c350ad3800f7ee99f55","integrity":"sha256-c00kiEr3buFn/PEC29vsQ+Wycm5l9Aw1CtOAD37pn1U="},"all-a55a9ed762f8344ecd74346308ae7066a283d34302fbce1ef5924ad5ce19bb27.css":{"logical_path":"all.css","mtime":"2020-01-16T20:20:11+01:00","size":2745,"digest":"a55a9ed762f8344ecd74346308ae7066a283d34302fbce1ef5924ad5ce19bb27","integrity":"sha256-pVqe12L4NE7NdDRjCK5wZqKD00MC+84e9ZJK1c4Zuyc="},"digest-e13dd03a72165cef5027b81a774f458fe1a6910d2baaae84bae560b3199a77c3.css":{"logical_path":"digest.css","mtime":"2020-01-16T20:20:11+01:00","size":304,"digest":"e13dd03a72165cef5027b81a774f458fe1a6910d2baaae84bae560b3199a77c3","integrity":"sha256-4T3QOnIWXO9QJ7gad09Fj+GmkQ0rqq6EuuVgsxmad8M="},"events-bb56649a8c5b11d0b8005a8e23e7560f34d7b79fcccccffe4a1407102cfffed6.css":{"logical_path":"events.css","mtime":"2020-01-16T20:20:11+01:00","size":3191,"digest":"bb56649a8c5b11d0b8005a8e23e7560f34d7b79fcccccffe4a1407102cfffed6","integrity":"sha256-u1ZkmoxbEdC4AFqOI+dWDzTXt5/MzM/+ShQHECz//tY="},"form-f1da5f65f35af4489cf79067f5c0409ae5d9e41aa8286fcfef13727fd46aa988.css":{"logical_path":"form.css","mtime":"2020-01-16T20:20:11+01:00","size":65684,"digest":"f1da5f65f35af4489cf79067f5c0409ae5d9e41aa8286fcfef13727fd46aa988","integrity":"sha256-8dpfZfNa9Eic95Bn9cBAmuXZ5BqoKG/P7xNyf9RqqYg="},"frTypo-ebcaa45fa7c0bf7821d05959aaceda63d26a30d30079e70619932b0e1d49f512.css":{"logical_path":"frTypo.css","mtime":"2020-01-16T20:20:11+01:00","size":76,"digest":"ebcaa45fa7c0bf7821d05959aaceda63d26a30d30079e70619932b0e1d49f512","integrity":"sha256-68qkX6fAv3gh0FlZqs7aY9JqMNMAeecGGZMrDh1J9RI="},"list-2a097a62ec89bc6d4d544dc4a4e4a1258b470b755ad0ad694b9f5b3cf4782f67.css":{"logical_path":"list.css","mtime":"2019-12-25T17:18:51+01:00","size":923,"digest":"2a097a62ec89bc6d4d544dc4a4e4a1258b470b755ad0ad694b9f5b3cf4782f67","integrity":"sha256-Kgl6YuyJvG1NVE3EpOShJYtHC3Va0K1pS59bPPR4L2c="},"maps-644829bf7b14b0c1b73efb7b2d44049969271bd969174b5bf7c53d0159cf424c.css":{"logical_path":"maps.css","mtime":"2020-01-16T20:20:11+01:00","size":536,"digest":"644829bf7b14b0c1b73efb7b2d44049969271bd969174b5bf7c53d0159cf424c","integrity":"sha256-ZEgpv3sUsMG3Pvt7LUQEmWknG9lpF0tb98U9AVnPQkw="},"mobile-59b7aeed8e7ee6e2ced7bb7a6f26ae9e4e2ed3c514a584c0e706128b4ad7fe36.css":{"logical_path":"mobile.css","mtime":"2020-01-16T20:20:11+01:00","size":2414,"digest":"59b7aeed8e7ee6e2ced7bb7a6f26ae9e4e2ed3c514a584c0e706128b4ad7fe36","integrity":"sha256-Wbeu7Y5+5uLO17t6byaunk4u08UUpYTA5wYSi0rX/jY="},"moderations-f561bf2c27715b6015b7dce1af2ce2358f05ca4d62794d199e3b2cdaec0be8f4.css":{"logical_path":"moderations.css","mtime":"2019-12-22T12:30:30+01:00","size":898,"digest":"f561bf2c27715b6015b7dce1af2ce2358f05ca4d62794d199e3b2cdaec0be8f4","integrity":"sha256-9WG/LCdxW2AVt9zhryziNY8Fyk1ieU0Znjss2uwL6PQ="},"notes-e607250b9cef023a762c009acc65c3320ec1f6d5814a30aa3c1ba907b4f8cb5f.css":{"logical_path":"notes.css","mtime":"2020-01-16T20:20:11+01:00","size":37,"digest":"e607250b9cef023a762c009acc65c3320ec1f6d5814a30aa3c1ba907b4f8cb5f","integrity":"sha256-5gclC5zvAjp2LACazGXDMg7B9tWBSjCqPBupB7T4y18="},"orgas-dd7a2a3fc67e9fa14675e1b59263b8f83e052274d6b900875b0ee4494143ad80.css":{"logical_path":"orgas.css","mtime":"2020-01-16T20:20:11+01:00","size":672,"digest":"dd7a2a3fc67e9fa14675e1b59263b8f83e052274d6b900875b0ee4494143ad80","integrity":"sha256-3XoqP8Z+n6FGdeG1kmO4+D4FInTWuQCHWw7kSUFDrYA="},"pages-5eed9147c9cfe84eb1299bc0ca0d8b0c81fb0c07ecb38e26949e7d4e483746e2.css":{"logical_path":"pages.css","mtime":"2020-01-16T20:20:11+01:00","size":75,"digest":"5eed9147c9cfe84eb1299bc0ca0d8b0c81fb0c07ecb38e26949e7d4e483746e2","integrity":"sha256-Xu2RR8nP6E6xKZvAyg2LDIH7DAfss44mlJ59Tkg3RuI="},"region-d285b5ecdf6d5b5ee68faac92854e4868a609e5509b90e90047178ac45649153.css":{"logical_path":"region.css","mtime":"2019-12-22T12:30:30+01:00","size":1903,"digest":"d285b5ecdf6d5b5ee68faac92854e4868a609e5509b90e90047178ac45649153","integrity":"sha256-0oW17N9tW17mj6rJKFTkhopgnlUJuQ6QBHF4rEVkkVM="},"scaffolds-c26fee551087c3b72541cae52a1cc6b454f153e2d04c01d4b35b9ec1ae6cf09b.css":{"logical_path":"scaffolds.css","mtime":"2020-01-16T20:20:11+01:00","size":430,"digest":"c26fee551087c3b72541cae52a1cc6b454f153e2d04c01d4b35b9ec1ae6cf09b","integrity":"sha256-wm/uVRCHw7clQcrlKhzGtFTxU+LQTAHUs1uewa5s8Js="},"sessions-d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6.css":{"logical_path":"sessions.css","mtime":"2020-01-16T20:20:11+01:00","size":0,"digest":"d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6","integrity":"sha256-0P9ZdLaqUs9WK+pZIYQMAyqGCpGjUS9/6Pdo9rvgBfY="},"stats-b4f6f94d2f8dc057ec80c9ceeeaca31517882a8fd0b9f09d5f285896414c8685.css":{"logical_path":"stats.css","mtime":"2019-12-22T12:30:30+01:00","size":371,"digest":"b4f6f94d2f8dc057ec80c9ceeeaca31517882a8fd0b9f09d5f285896414c8685","integrity":"sha256-tPb5TS+NwFfsgMnO7qyjFReIKo/QufCdXyhYlkFMhoU="},"tags-c338d658bc3a1e40d8c6694d1fab6a633686ccc2c626563f890384fab38c20f0.css":{"logical_path":"tags.css","mtime":"2020-01-16T20:20:11+01:00","size":1399,"digest":"c338d658bc3a1e40d8c6694d1fab6a633686ccc2c626563f890384fab38c20f0","integrity":"sha256-wzjWWLw6HkDYxmlNH6tqYzaGzMLGJlY/iQOE+rOMIPA="},"versions-3e2a6ffdc6f7728b0e5e517a208c4d1a72167a6d4da6bc4d36db4941150926bb.css":{"logical_path":"versions.css","mtime":"2020-01-16T20:20:11+01:00","size":47,"digest":"3e2a6ffdc6f7728b0e5e517a208c4d1a72167a6d4da6bc4d36db4941150926bb","integrity":"sha256-Pipv/cb3cosOXlF6IIxNGnIWem1NprxNNttJQRUJJrs="},"application-6b0077e2b1b028a9968bff6fdbdebe5b37dd002896e7d4347fbf021c89927562.js":{"logical_path":"application.js","mtime":"2019-12-25T17:18:50+01:00","size":2001537,"digest":"6b0077e2b1b028a9968bff6fdbdebe5b37dd002896e7d4347fbf021c89927562","integrity":"sha256-awB34rGwKKmWi/9v296+WzfdACiW59Q0f78CHImSdWI="},"application-1026d28c200fb525d92a5552bc812bd5f0277f5a854b5d3cf9ac3d6fe66bc465.css":{"logical_path":"application.css","mtime":"2019-12-25T17:18:51+01:00","size":232293,"digest":"1026d28c200fb525d92a5552bc812bd5f0277f5a854b5d3cf9ac3d6fe66bc465","integrity":"sha256-ECbSjCAPtSXZKlVSvIEr1fAnf1qFS108+aw9b+ZrxGU="},"setup_tinymce-4e26b56d48453796509fb70dc4176cac5d18aa582260cd665efe0f192886ca4c.js":{"logical_path":"setup_tinymce.js","mtime":"2019-12-25T17:18:51+01:00","size":1033,"digest":"4e26b56d48453796509fb70dc4176cac5d18aa582260cd665efe0f192886ca4c","integrity":"sha256-Tia1bUhFN5ZQn7cNxBdsrF0YqlgiYM1mXv4PGSiGykw="},"moderations-d96d93c516d69b280e4d312ec96d2c13f3650e03c57cc08bf582b2d26bf2882e.css":{"logical_path":"moderations.css","mtime":"2019-12-25T17:18:51+01:00","size":939,"digest":"d96d93c516d69b280e4d312ec96d2c13f3650e03c57cc08bf582b2d26bf2882e","integrity":"sha256-2W2TxRbWmygOTTEuyW0sE/NlDgPFfMCL9YKy0mvyiC4="},"region-0d416c6171a588eb6a1a40642f2984f08b0b205d2eab077b12bd859fd60cef3e.css":{"logical_path":"region.css","mtime":"2020-01-16T20:20:11+01:00","size":1871,"digest":"0d416c6171a588eb6a1a40642f2984f08b0b205d2eab077b12bd859fd60cef3e","integrity":"sha256-DUFsYXGliOtqGkBkLymE8IsLIF0uqwd7Er2Fn9YM7z4="},"stats-e46b6e6ffdd66de16d29c029216debae3fc6f81d83e21bc8be2700df34cb4f20.css":{"logical_path":"stats.css","mtime":"2019-12-25T17:18:51+01:00","size":403,"digest":"e46b6e6ffdd66de16d29c029216debae3fc6f81d83e21bc8be2700df34cb4f20","integrity":"sha256-5Gtub/3WbeFtKcApIW3rrj/G+B2D4hvIvicA3zTLTyA="},"active_admin-dec69308746afc6dbd02775421aa3e1f79637faf69ee5142205b51e446e82b71.css":{"logical_path":"active_admin.css","mtime":"2020-01-16T20:20:11+01:00","size":107471,"digest":"dec69308746afc6dbd02775421aa3e1f79637faf69ee5142205b51e446e82b71","integrity":"sha256-3saTCHRq/G29AndUIao+H3ljf69p7lFCIFtR5EboK3E="},"application-fb731c41db1a05bf805327a9592adeebe78029f52947b9410e3cf935ee82fbd0.js":{"logical_path":"application.js","mtime":"2020-01-07T21:15:21+01:00","size":2001537,"digest":"fb731c41db1a05bf805327a9592adeebe78029f52947b9410e3cf935ee82fbd0","integrity":"sha256-+3McQdsaBb+AUyepWSre6+eAKfUpR7lBDjz5Ne6C+9A="},"application-8002eadc07c8d58b56bad6f45a5e2607344c903abacfe94121bd35aa25f764a8.css":{"logical_path":"application.css","mtime":"2020-01-16T20:20:11+01:00","size":232365,"digest":"8002eadc07c8d58b56bad6f45a5e2607344c903abacfe94121bd35aa25f764a8","integrity":"sha256-gALq3AfI1YtWutb0Wl4mBzRMkDq6z+lBIb01qiX3ZKg="},"setup_tinymce-d8387e12966ef5097652a4d0a20baeea770fe700706c5bb25be979bcd361aa4b.js":{"logical_path":"setup_tinymce.js","mtime":"2020-01-16T20:20:11+01:00","size":1033,"digest":"d8387e12966ef5097652a4d0a20baeea770fe700706c5bb25be979bcd361aa4b","integrity":"sha256-2Dh+EpZu9Ql2UqTQoguu6ncP5wBwbFuyW+l5vNNhqks="},"list-d5aed2f96e49ce444974d43fb9d53d43f2ae1f5bb5b1716e5dc245447fd64316.css":{"logical_path":"list.css","mtime":"2020-01-16T20:20:11+01:00","size":853,"digest":"d5aed2f96e49ce444974d43fb9d53d43f2ae1f5bb5b1716e5dc245447fd64316","integrity":"sha256-1a7S+W5JzkRJdNQ/udU9Q/KuH1u1sXFuXcJFRH/WQxY="},"moderations-ede8f4f2808ab572908780f2daea2ea4e76b1d0b0c5735d744bb7cc51fb69895.css":{"logical_path":"moderations.css","mtime":"2020-01-16T20:20:11+01:00","size":979,"digest":"ede8f4f2808ab572908780f2daea2ea4e76b1d0b0c5735d744bb7cc51fb69895","integrity":"sha256-7ej08oCKtXKQh4Dy2uoupOdrHQsMVzXXRLt8xR+2mJU="},"stats-a22ad34b2184e63c6ee60f75829dcae68c2a3e9094a0af419e06306b5b68af45.css":{"logical_path":"stats.css","mtime":"2020-01-16T20:20:11+01:00","size":505,"digest":"a22ad34b2184e63c6ee60f75829dcae68c2a3e9094a0af419e06306b5b68af45","integrity":"sha256-oirTSyGE5jxu5g91gp3K5owqPpCUoK9BngYwa1tor0U="},"tinymce/jquery.tinymce.js":{"logical_path":"tinymce/jquery.tinymce.js","mtime":"2019-12-21T20:51:18+01:00","size":6635,"digest":null},"tinymce/langs/readme.md":{"logical_path":"tinymce/langs/readme.md","mtime":"2019-12-21T20:51:18+01:00","size":151,"digest":null},"tinymce/license.txt":{"logical_path":"tinymce/license.txt","mtime":"2019-12-21T20:51:18+01:00","size":26441,"digest":null},"tinymce/plugins/advlist/plugin.js":{"logical_path":"tinymce/plugins/advlist/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3994,"digest":null},"tinymce/plugins/anchor/plugin.js":{"logical_path":"tinymce/plugins/anchor/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2119,"digest":null},"tinymce/plugins/autolink/plugin.js":{"logical_path":"tinymce/plugins/autolink/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2535,"digest":null},"tinymce/plugins/autoresize/plugin.js":{"logical_path":"tinymce/plugins/autoresize/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2451,"digest":null},"tinymce/plugins/autosave/plugin.js":{"logical_path":"tinymce/plugins/autosave/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3492,"digest":null},"tinymce/plugins/bbcode/plugin.js":{"logical_path":"tinymce/plugins/bbcode/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3116,"digest":null},"tinymce/plugins/charmap/plugin.js":{"logical_path":"tinymce/plugins/charmap/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":11947,"digest":null},"tinymce/plugins/code/plugin.js":{"logical_path":"tinymce/plugins/code/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1225,"digest":null},"tinymce/plugins/codesample/plugin.js":{"logical_path":"tinymce/plugins/codesample/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":21027,"digest":null},"tinymce/plugins/colorpicker/plugin.js":{"logical_path":"tinymce/plugins/colorpicker/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":549,"digest":null},"tinymce/plugins/contextmenu/plugin.js":{"logical_path":"tinymce/plugins/contextmenu/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":549,"digest":null},"tinymce/plugins/directionality/plugin.js":{"logical_path":"tinymce/plugins/directionality/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":4314,"digest":null},"tinymce/plugins/emoticons/js/emojis.js":{"logical_path":"tinymce/plugins/emoticons/js/emojis.js","mtime":"2019-12-21T20:51:18+01:00","size":193222,"digest":null},"tinymce/plugins/emoticons/plugin.js":{"logical_path":"tinymce/plugins/emoticons/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":6920,"digest":null},"tinymce/plugins/fullpage/plugin.js":{"logical_path":"tinymce/plugins/fullpage/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":8195,"digest":null},"tinymce/plugins/fullscreen/plugin.js":{"logical_path":"tinymce/plugins/fullscreen/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":14305,"digest":null},"tinymce/plugins/help/plugin.js":{"logical_path":"tinymce/plugins/help/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":14519,"digest":null},"tinymce/plugins/hr/plugin.js":{"logical_path":"tinymce/plugins/hr/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":840,"digest":null},"tinymce/plugins/image/plugin.js":{"logical_path":"tinymce/plugins/image/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":29770,"digest":null},"tinymce/plugins/imagetools/plugin.js":{"logical_path":"tinymce/plugins/imagetools/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":22210,"digest":null},"tinymce/plugins/importcss/plugin.js":{"logical_path":"tinymce/plugins/importcss/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":5007,"digest":null},"tinymce/plugins/insertdatetime/plugin.js":{"logical_path":"tinymce/plugins/insertdatetime/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3211,"digest":null},"tinymce/plugins/legacyoutput/plugin.js":{"logical_path":"tinymce/plugins/legacyoutput/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2975,"digest":null},"tinymce/plugins/link/plugin.js":{"logical_path":"tinymce/plugins/link/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":22689,"digest":null},"tinymce/plugins/lists/plugin.js":{"logical_path":"tinymce/plugins/lists/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":28086,"digest":null},"tinymce/plugins/media/plugin.js":{"logical_path":"tinymce/plugins/media/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":18041,"digest":null},"tinymce/plugins/nonbreaking/plugin.js":{"logical_path":"tinymce/plugins/nonbreaking/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1584,"digest":null},"tinymce/plugins/noneditable/plugin.js":{"logical_path":"tinymce/plugins/noneditable/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1841,"digest":null},"tinymce/plugins/pagebreak/plugin.js":{"logical_path":"tinymce/plugins/pagebreak/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1841,"digest":null},"tinymce/plugins/paste/plugin.js":{"logical_path":"tinymce/plugins/paste/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":31656,"digest":null},"tinymce/plugins/preview/plugin.js":{"logical_path":"tinymce/plugins/preview/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":2200,"digest":null},"tinymce/plugins/print/plugin.js":{"logical_path":"tinymce/plugins/print/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":888,"digest":null},"tinymce/plugins/quickbars/plugin.js":{"logical_path":"tinymce/plugins/quickbars/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":11082,"digest":null},"tinymce/plugins/save/plugin.js":{"logical_path":"tinymce/plugins/save/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1822,"digest":null},"tinymce/plugins/searchreplace/plugin.js":{"logical_path":"tinymce/plugins/searchreplace/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":10440,"digest":null},"tinymce/plugins/spellchecker/plugin.js":{"logical_path":"tinymce/plugins/spellchecker/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":10403,"digest":null},"tinymce/plugins/tabfocus/plugin.js":{"logical_path":"tinymce/plugins/tabfocus/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1937,"digest":null},"tinymce/plugins/table/plugin.js":{"logical_path":"tinymce/plugins/table/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":124407,"digest":null},"tinymce/plugins/template/plugin.js":{"logical_path":"tinymce/plugins/template/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":8076,"digest":null},"tinymce/plugins/textcolor/plugin.js":{"logical_path":"tinymce/plugins/textcolor/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":545,"digest":null},"tinymce/plugins/textpattern/plugin.js":{"logical_path":"tinymce/plugins/textpattern/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":18705,"digest":null},"tinymce/plugins/toc/plugin.js":{"logical_path":"tinymce/plugins/toc/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":3591,"digest":null},"tinymce/plugins/visualblocks/plugin.js":{"logical_path":"tinymce/plugins/visualblocks/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":1651,"digest":null},"tinymce/plugins/visualchars/plugin.js":{"logical_path":"tinymce/plugins/visualchars/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":7080,"digest":null},"tinymce/plugins/wordcount/plugin.js":{"logical_path":"tinymce/plugins/wordcount/plugin.js","mtime":"2019-12-21T20:51:18+01:00","size":13185,"digest":null},"tinymce/skins/content/dark/content.css":{"logical_path":"tinymce/skins/content/dark/content.css","mtime":"2019-12-21T20:51:18+01:00","size":1082,"digest":null},"tinymce/skins/content/dark/content.min.css":{"logical_path":"tinymce/skins/content/dark/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":1082,"digest":null},"tinymce/skins/content/default/content.css":{"logical_path":"tinymce/skins/content/default/content.css","mtime":"2019-12-21T20:51:18+01:00","size":957,"digest":null},"tinymce/skins/content/default/content.min.css":{"logical_path":"tinymce/skins/content/default/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":957,"digest":null},"tinymce/skins/content/document/content.css":{"logical_path":"tinymce/skins/content/document/content.css","mtime":"2019-12-21T20:51:18+01:00","size":1040,"digest":null},"tinymce/skins/content/document/content.min.css":{"logical_path":"tinymce/skins/content/document/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":1040,"digest":null},"tinymce/skins/content/writer/content.css":{"logical_path":"tinymce/skins/content/writer/content.css","mtime":"2019-12-21T20:51:18+01:00","size":978,"digest":null},"tinymce/skins/content/writer/content.min.css":{"logical_path":"tinymce/skins/content/writer/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":978,"digest":null},"tinymce/skins/ui/oxide-dark/content.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.css","mtime":"2019-12-21T20:51:18+01:00","size":17510,"digest":null},"tinymce/skins/ui/oxide-dark/content.inline.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.inline.css","mtime":"2019-12-21T20:51:18+01:00","size":17824,"digest":null},"tinymce/skins/ui/oxide-dark/content.inline.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.inline.min.css","mtime":"2019-12-21T20:51:18+01:00","size":17824,"digest":null},"tinymce/skins/ui/oxide-dark/content.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":17510,"digest":null},"tinymce/skins/ui/oxide-dark/content.mobile.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.mobile.css","mtime":"2019-12-21T20:51:18+01:00","size":544,"digest":null},"tinymce/skins/ui/oxide-dark/content.mobile.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.mobile.min.css","mtime":"2019-12-21T20:51:18+01:00","size":544,"digest":null},"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff":{"logical_path":"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff","mtime":"2019-12-21T20:51:18+01:00","size":4624,"digest":null},"tinymce/skins/ui/oxide-dark/skin.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.css","mtime":"2019-12-21T20:51:18+01:00","size":54904,"digest":null},"tinymce/skins/ui/oxide-dark/skin.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.min.css","mtime":"2019-12-21T20:51:18+01:00","size":54904,"digest":null},"tinymce/skins/ui/oxide-dark/skin.mobile.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.mobile.css","mtime":"2019-12-21T20:51:18+01:00","size":21004,"digest":null},"tinymce/skins/ui/oxide-dark/skin.mobile.min.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.mobile.min.css","mtime":"2019-12-21T20:51:18+01:00","size":21004,"digest":null},"tinymce/skins/ui/oxide/content.css":{"logical_path":"tinymce/skins/ui/oxide/content.css","mtime":"2019-12-21T20:51:18+01:00","size":17883,"digest":null},"tinymce/skins/ui/oxide/content.inline.css":{"logical_path":"tinymce/skins/ui/oxide/content.inline.css","mtime":"2019-12-21T20:51:18+01:00","size":17824,"digest":null},"tinymce/skins/ui/oxide/content.inline.min.css":{"logical_path":"tinymce/skins/ui/oxide/content.inline.min.css","mtime":"2019-12-21T20:51:18+01:00","size":17824,"digest":null},"tinymce/skins/ui/oxide/content.min.css":{"logical_path":"tinymce/skins/ui/oxide/content.min.css","mtime":"2019-12-21T20:51:18+01:00","size":17883,"digest":null},"tinymce/skins/ui/oxide/content.mobile.css":{"logical_path":"tinymce/skins/ui/oxide/content.mobile.css","mtime":"2019-12-21T20:51:18+01:00","size":544,"digest":null},"tinymce/skins/ui/oxide/content.mobile.min.css":{"logical_path":"tinymce/skins/ui/oxide/content.mobile.min.css","mtime":"2019-12-21T20:51:18+01:00","size":544,"digest":null},"tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff":{"logical_path":"tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff","mtime":"2019-12-21T20:51:18+01:00","size":4624,"digest":null},"tinymce/skins/ui/oxide/skin.css":{"logical_path":"tinymce/skins/ui/oxide/skin.css","mtime":"2019-12-21T20:51:18+01:00","size":55044,"digest":null},"tinymce/skins/ui/oxide/skin.min.css":{"logical_path":"tinymce/skins/ui/oxide/skin.min.css","mtime":"2019-12-21T20:51:18+01:00","size":55044,"digest":null},"tinymce/skins/ui/oxide/skin.mobile.css":{"logical_path":"tinymce/skins/ui/oxide/skin.mobile.css","mtime":"2019-12-21T20:51:18+01:00","size":21004,"digest":null},"tinymce/skins/ui/oxide/skin.mobile.min.css":{"logical_path":"tinymce/skins/ui/oxide/skin.mobile.min.css","mtime":"2019-12-21T20:51:18+01:00","size":21004,"digest":null},"tinymce/themes/mobile/theme.js":{"logical_path":"tinymce/themes/mobile/theme.js","mtime":"2019-12-21T20:51:18+01:00","size":181729,"digest":null},"tinymce/themes/silver/theme.js":{"logical_path":"tinymce/themes/silver/theme.js","mtime":"2019-12-21T20:51:18+01:00","size":406030,"digest":null},"tinymce/tinymce.js":{"logical_path":"tinymce/tinymce.js","mtime":"2019-12-21T20:51:18+01:00","size":439628,"digest":null},"tinymce-rails.manifest-e761884522a9ca2dac475b68bac1946c990fb9af8b676d3b6b45692a920c8d04.js":{"logical_path":"tinymce-rails.manifest.js","mtime":"2020-01-16T20:20:11+01:00","size":3,"digest":"e761884522a9ca2dac475b68bac1946c990fb9af8b676d3b6b45692a920c8d04","integrity":"sha256-52GIRSKpyi2sR1tousGUbJkPua+LZ207a0VpKpIMjQQ="},"tinymce/jquery.tinymce-288911771c7167ab9efe3c86b2ec5ade1cea510dc1026943df84685c38d91ef2.js":{"logical_path":"tinymce/jquery.tinymce.js","mtime":"2020-01-16T20:20:11+01:00","size":6636,"digest":"288911771c7167ab9efe3c86b2ec5ade1cea510dc1026943df84685c38d91ef2","integrity":"sha256-KIkRdxxxZ6ue/jyGsuxa3hzqUQ3BAmlD34RoXDjZHvI="},"tinymce/plugins/advlist/plugin-9d5f181c8b89a6d3fd79e5773920a8702a818e3503f2d2225538b1024e22c881.js":{"logical_path":"tinymce/plugins/advlist/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":3995,"digest":"9d5f181c8b89a6d3fd79e5773920a8702a818e3503f2d2225538b1024e22c881","integrity":"sha256-nV8YHIuJptP9eeV3OSCocCqBjjUD8tIiVTixAk4iyIE="},"tinymce/plugins/anchor/plugin-1101283820b4b9031320d224dd162327bb6ad406925efba1b0712b448ffae72c.js":{"logical_path":"tinymce/plugins/anchor/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":2120,"digest":"1101283820b4b9031320d224dd162327bb6ad406925efba1b0712b448ffae72c","integrity":"sha256-EQEoOCC0uQMTINIk3RYjJ7tq1AaSXvuhsHErRI/65yw="},"tinymce/plugins/autolink/plugin-ea3267031e438e98832047c8265fbc070407a0ffbc93e8d2c3a48bd752b1e336.js":{"logical_path":"tinymce/plugins/autolink/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":2536,"digest":"ea3267031e438e98832047c8265fbc070407a0ffbc93e8d2c3a48bd752b1e336","integrity":"sha256-6jJnAx5DjpiDIEfIJl+8BwQHoP+8k+jSw6SL11Kx4zY="},"tinymce/plugins/autoresize/plugin-debda956b34a60a1b4bc427cdfc19a87e2b41ff10438a945371c7f93d731ed77.js":{"logical_path":"tinymce/plugins/autoresize/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":2452,"digest":"debda956b34a60a1b4bc427cdfc19a87e2b41ff10438a945371c7f93d731ed77","integrity":"sha256-3r2pVrNKYKG0vEJ838Gah+K0H/EEOKlFNxx/k9cx7Xc="},"tinymce/plugins/autosave/plugin-5d7b50830029e2fcbec55cca0328d8142fa0d8f46757c9019a4cb28be4e3fee5.js":{"logical_path":"tinymce/plugins/autosave/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":3493,"digest":"5d7b50830029e2fcbec55cca0328d8142fa0d8f46757c9019a4cb28be4e3fee5","integrity":"sha256-XXtQgwAp4vy+xVzKAyjYFC+g2PRnV8kBmkyyi+Tj/uU="},"tinymce/plugins/bbcode/plugin-d4ea4957fd10a1e6e2956954d47b39e019705163bc4da5dfcaaac5fc7c3c763d.js":{"logical_path":"tinymce/plugins/bbcode/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":3117,"digest":"d4ea4957fd10a1e6e2956954d47b39e019705163bc4da5dfcaaac5fc7c3c763d","integrity":"sha256-1OpJV/0QoebilWlU1Hs54BlwUWO8TaXfyqrF/Hw8dj0="},"tinymce/plugins/charmap/plugin-3e427c5d66327507030644fed56edbce588cee62648ee8af86ac06e26873d758.js":{"logical_path":"tinymce/plugins/charmap/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":11948,"digest":"3e427c5d66327507030644fed56edbce588cee62648ee8af86ac06e26873d758","integrity":"sha256-PkJ8XWYydQcDBkT+1W7bzliM7mJkjuivhqwG4mhz11g="},"tinymce/plugins/code/plugin-a1e4ee3ef429e49b5d6bf2505813b0ab804e6b72dd5ca733be0b661e4608e37a.js":{"logical_path":"tinymce/plugins/code/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":1226,"digest":"a1e4ee3ef429e49b5d6bf2505813b0ab804e6b72dd5ca733be0b661e4608e37a","integrity":"sha256-oeTuPvQp5Jtda/JQWBOwq4BOa3LdXKczvgtmHkYI43o="},"tinymce/plugins/codesample/plugin-ec16e82f1cf7c8759aa18ad9677b1c828c7d779758d4f803c7b6a1374d79f5d0.js":{"logical_path":"tinymce/plugins/codesample/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":21028,"digest":"ec16e82f1cf7c8759aa18ad9677b1c828c7d779758d4f803c7b6a1374d79f5d0","integrity":"sha256-7BboLxz3yHWaoYrZZ3scgox9d5dY1PgDx7ahN0159dA="},"tinymce/plugins/colorpicker/plugin-397300b6bbf064534c66e500cc76f04974a8b3148ff8527696952f6e66904ff4.js":{"logical_path":"tinymce/plugins/colorpicker/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":550,"digest":"397300b6bbf064534c66e500cc76f04974a8b3148ff8527696952f6e66904ff4","integrity":"sha256-OXMAtrvwZFNMZuUAzHbwSXSosxSP+FJ2lpUvbmaQT/Q="},"tinymce/plugins/contextmenu/plugin-854c81b98b7c49b727ef2838a12496df12c17eb532e75c0b136587d5319dfeb4.js":{"logical_path":"tinymce/plugins/contextmenu/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":550,"digest":"854c81b98b7c49b727ef2838a12496df12c17eb532e75c0b136587d5319dfeb4","integrity":"sha256-hUyBuYt8Sbcn7yg4oSSW3xLBfrUy51wLE2WH1TGd/rQ="},"tinymce/plugins/directionality/plugin-51daac61c7bb784b21fd9e7bb7ece6faec999a23cfc1235fd738e6b7b535d0c7.js":{"logical_path":"tinymce/plugins/directionality/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":4315,"digest":"51daac61c7bb784b21fd9e7bb7ece6faec999a23cfc1235fd738e6b7b535d0c7","integrity":"sha256-UdqsYce7eEsh/Z57t+zm+uyZmiPPwSNf1zjmt7U10Mc="},"tinymce/plugins/emoticons/js/emojis-a0736896b97ad33377407df852694702e5a4df5c9974373f8f8de3e147a9c57a.js":{"logical_path":"tinymce/plugins/emoticons/js/emojis.js","mtime":"2020-01-16T20:20:11+01:00","size":193223,"digest":"a0736896b97ad33377407df852694702e5a4df5c9974373f8f8de3e147a9c57a","integrity":"sha256-oHNolrl60zN3QH34UmlHAuWk31yZdDc/j43j4UepxXo="},"tinymce/plugins/emoticons/plugin-0a616a34a40aaf42639751775cd0c8a7a07c253dc2d50d6fd259aff0494af6dc.js":{"logical_path":"tinymce/plugins/emoticons/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":6921,"digest":"0a616a34a40aaf42639751775cd0c8a7a07c253dc2d50d6fd259aff0494af6dc","integrity":"sha256-CmFqNKQKr0Jjl1F3XNDIp6B8JT3C1Q1v0lmv8ElK9tw="},"tinymce/plugins/fullpage/plugin-950be265f2e1f9463176d4d371603e745dafe60b20d085d3fdb7dfc731851abf.js":{"logical_path":"tinymce/plugins/fullpage/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":8196,"digest":"950be265f2e1f9463176d4d371603e745dafe60b20d085d3fdb7dfc731851abf","integrity":"sha256-lQviZfLh+UYxdtTTcWA+dF2v5gsg0IXT/bffxzGFGr8="},"tinymce/plugins/fullscreen/plugin-2c24621819d483ae03f863ffac123332dacb13aaf4bc37462e076b3f1b416dd7.js":{"logical_path":"tinymce/plugins/fullscreen/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":14306,"digest":"2c24621819d483ae03f863ffac123332dacb13aaf4bc37462e076b3f1b416dd7","integrity":"sha256-LCRiGBnUg64D+GP/rBIzMtrLE6r0vDdGLgdrPxtBbdc="},"tinymce/plugins/help/plugin-256c84a454287673fa4c4a88785948aff7d88baa7087ec78323989144bc8009a.js":{"logical_path":"tinymce/plugins/help/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":14520,"digest":"256c84a454287673fa4c4a88785948aff7d88baa7087ec78323989144bc8009a","integrity":"sha256-JWyEpFQodnP6TEqIeFlIr/fYi6pwh+x4MjmJFEvIAJo="},"tinymce/plugins/hr/plugin-98aae8ceed7e478997882f091ff4ab9b7c6361ebf4a4c1a5d42e5066510dad36.js":{"logical_path":"tinymce/plugins/hr/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":841,"digest":"98aae8ceed7e478997882f091ff4ab9b7c6361ebf4a4c1a5d42e5066510dad36","integrity":"sha256-mKrozu1+R4mXiC8JH/Srm3xjYev0pMGl1C5QZlENrTY="},"tinymce/plugins/image/plugin-bedbb33580f5c7191faeca7f057f6f86737a62b661706c09bd910259eac36724.js":{"logical_path":"tinymce/plugins/image/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":29771,"digest":"bedbb33580f5c7191faeca7f057f6f86737a62b661706c09bd910259eac36724","integrity":"sha256-vtuzNYD1xxkfrsp/BX9vhnN6YrZhcGwJvZECWerDZyQ="},"tinymce/plugins/imagetools/plugin-2c6afa5dc81bff9d4aed443e0d8c14d2a73d5bd2528943289223bf843b3caac4.js":{"logical_path":"tinymce/plugins/imagetools/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":22211,"digest":"2c6afa5dc81bff9d4aed443e0d8c14d2a73d5bd2528943289223bf843b3caac4","integrity":"sha256-LGr6Xcgb/51K7UQ+DYwU0qc9W9JSiUMokiO/hDs8qsQ="},"tinymce/plugins/importcss/plugin-f4e599c94612b273a8dacf94ad1622adcff633a5fd4387ae5121f7d5722247ff.js":{"logical_path":"tinymce/plugins/importcss/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":5008,"digest":"f4e599c94612b273a8dacf94ad1622adcff633a5fd4387ae5121f7d5722247ff","integrity":"sha256-9OWZyUYSsnOo2s+UrRYirc/2M6X9Q4euUSH31XIiR/8="},"tinymce/plugins/insertdatetime/plugin-3f37e3a0ba1506ff8ad6dd835cde7ed3d2db3e9ece51733ea2950f666cec11c2.js":{"logical_path":"tinymce/plugins/insertdatetime/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":3212,"digest":"3f37e3a0ba1506ff8ad6dd835cde7ed3d2db3e9ece51733ea2950f666cec11c2","integrity":"sha256-PzfjoLoVBv+K1t2DXN5+09LbPp7OUXM+opUPZmzsEcI="},"tinymce/plugins/legacyoutput/plugin-9cbb8dd8733fc043c2825f7f62590d5e8fd3ee73badfbbec677c04a0e21c3ec3.js":{"logical_path":"tinymce/plugins/legacyoutput/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":2976,"digest":"9cbb8dd8733fc043c2825f7f62590d5e8fd3ee73badfbbec677c04a0e21c3ec3","integrity":"sha256-nLuN2HM/wEPCgl9/YlkNXo/T7nO637vsZ3wEoOIcPsM="},"tinymce/plugins/link/plugin-178cc5b94ecc34fe0658a51b3dca57fcc70b554a959dcadd6c4031ca854b337a.js":{"logical_path":"tinymce/plugins/link/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":22690,"digest":"178cc5b94ecc34fe0658a51b3dca57fcc70b554a959dcadd6c4031ca854b337a","integrity":"sha256-F4zFuU7MNP4GWKUbPcpX/McLVUqVncrdbEAxyoVLM3o="},"tinymce/plugins/lists/plugin-48983439cc63cb4a8fea18c9bfe9879f14f8ae6a73c9c66f35432fbc09c514ea.js":{"logical_path":"tinymce/plugins/lists/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":28087,"digest":"48983439cc63cb4a8fea18c9bfe9879f14f8ae6a73c9c66f35432fbc09c514ea","integrity":"sha256-SJg0Ocxjy0qP6hjJv+mHnxT4rmpzycZvNUMvvAnFFOo="},"tinymce/plugins/media/plugin-14c054e4fcb51f19c4d4485a42ba6cc0c8455e8162bdbdd5ea97b09368afcc9e.js":{"logical_path":"tinymce/plugins/media/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":18042,"digest":"14c054e4fcb51f19c4d4485a42ba6cc0c8455e8162bdbdd5ea97b09368afcc9e","integrity":"sha256-FMBU5Py1HxnE1EhaQrpswMhFXoFivb3V6pewk2ivzJ4="},"tinymce/plugins/nonbreaking/plugin-85b41dad44751eb9c762fc9873ab21e3d7fe279c0ec4ff7447e82fd51b7d37a4.js":{"logical_path":"tinymce/plugins/nonbreaking/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":1585,"digest":"85b41dad44751eb9c762fc9873ab21e3d7fe279c0ec4ff7447e82fd51b7d37a4","integrity":"sha256-hbQdrUR1HrnHYvyYc6sh49f+J5wOxP90R+gv1Rt9N6Q="},"tinymce/plugins/noneditable/plugin-a27d05cbf2a672f92224d78d1ad31c6e4662a5aae17fb661ccbcacd51e943fd7.js":{"logical_path":"tinymce/plugins/noneditable/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":1842,"digest":"a27d05cbf2a672f92224d78d1ad31c6e4662a5aae17fb661ccbcacd51e943fd7","integrity":"sha256-on0Fy/KmcvkiJNeNGtMcbkZiparhf7ZhzLys1R6UP9c="},"tinymce/plugins/pagebreak/plugin-749e5872ed39a1f09961b49bb255fac0f6360f01c7f0b4ec1b5f38f5e2ef3d01.js":{"logical_path":"tinymce/plugins/pagebreak/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":1842,"digest":"749e5872ed39a1f09961b49bb255fac0f6360f01c7f0b4ec1b5f38f5e2ef3d01","integrity":"sha256-dJ5Ycu05ofCZYbSbslX6wPY2DwHH8LTsG1849eLvPQE="},"tinymce/plugins/paste/plugin-0b77edd91b1c76af73aacd79e6dad100aa11ef7c5c03f0333d26df1750dd45e7.js":{"logical_path":"tinymce/plugins/paste/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":31657,"digest":"0b77edd91b1c76af73aacd79e6dad100aa11ef7c5c03f0333d26df1750dd45e7","integrity":"sha256-C3ft2Rscdq9zqs155trRAKoR73xcA/AzPSbfF1DdRec="},"tinymce/plugins/preview/plugin-f03537c1c398cca4e649bdeeb6ea907e006158a53cfe04ba36cd72c3e6a62180.js":{"logical_path":"tinymce/plugins/preview/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":2201,"digest":"f03537c1c398cca4e649bdeeb6ea907e006158a53cfe04ba36cd72c3e6a62180","integrity":"sha256-8DU3wcOYzKTmSb3utuqQfgBhWKU8/gS6Ns1yw+amIYA="},"tinymce/plugins/print/plugin-138e832a86ceeb9d70d7b2a0e4441ef63f6c67543c2e80768f30ca21644f3ece.js":{"logical_path":"tinymce/plugins/print/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":889,"digest":"138e832a86ceeb9d70d7b2a0e4441ef63f6c67543c2e80768f30ca21644f3ece","integrity":"sha256-E46DKobO651w17Kg5EQe9j9sZ1Q8LoB2jzDKIWRPPs4="},"tinymce/plugins/quickbars/plugin-c22bae775a23ec4f8d5c1ccd0c22a4879431dcfc3cfc4a9beda56643e63c3847.js":{"logical_path":"tinymce/plugins/quickbars/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":11083,"digest":"c22bae775a23ec4f8d5c1ccd0c22a4879431dcfc3cfc4a9beda56643e63c3847","integrity":"sha256-wiuud1oj7E+NXBzNDCKkh5Qx3Pw8/Eqb7aVmQ+Y8OEc="},"tinymce/plugins/save/plugin-69fa49b662035a24756176359a3fa2c75a81bdb72c7273b02adf3f049522f759.js":{"logical_path":"tinymce/plugins/save/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":1823,"digest":"69fa49b662035a24756176359a3fa2c75a81bdb72c7273b02adf3f049522f759","integrity":"sha256-afpJtmIDWiR1YXY1mj+ix1qBvbcscnOwKt8/BJUi91k="},"tinymce/plugins/searchreplace/plugin-dcc69f2da3c72a7333e92f3388d6b95586d8654fe7806cfcabf37ea72658dd28.js":{"logical_path":"tinymce/plugins/searchreplace/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":10441,"digest":"dcc69f2da3c72a7333e92f3388d6b95586d8654fe7806cfcabf37ea72658dd28","integrity":"sha256-3MafLaPHKnMz6S8ziNa5VYbYZU/ngGz8q/N+pyZY3Sg="},"tinymce/plugins/spellchecker/plugin-ce68d7606345e0306c571efe4943281c791210c94150762cda68995dbddf4ffe.js":{"logical_path":"tinymce/plugins/spellchecker/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":10404,"digest":"ce68d7606345e0306c571efe4943281c791210c94150762cda68995dbddf4ffe","integrity":"sha256-zmjXYGNF4DBsVx7+SUMoHHkSEMlBUHYs2miZXb3fT/4="},"tinymce/plugins/tabfocus/plugin-e9208621ad5eac8e846dc63b1147e34d5bc88e58071ebcff8507ac0584fa49e1.js":{"logical_path":"tinymce/plugins/tabfocus/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":1938,"digest":"e9208621ad5eac8e846dc63b1147e34d5bc88e58071ebcff8507ac0584fa49e1","integrity":"sha256-6SCGIa1erI6EbcY7EUfjTVvIjlgHHrz/hQesBYT6SeE="},"tinymce/plugins/table/plugin-6f3d2766a8dba93298aeec2fbef24b09f9f06276201d9bff3b6398f8b88ef2e0.js":{"logical_path":"tinymce/plugins/table/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":124408,"digest":"6f3d2766a8dba93298aeec2fbef24b09f9f06276201d9bff3b6398f8b88ef2e0","integrity":"sha256-bz0nZqjbqTKYruwvvvJLCfnwYnYgHZv/O2OY+LiO8uA="},"tinymce/plugins/template/plugin-b83aef186cd1fee1c5db5c21c929528cef7d1a33485d58a444f99b70b2f63b01.js":{"logical_path":"tinymce/plugins/template/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":8077,"digest":"b83aef186cd1fee1c5db5c21c929528cef7d1a33485d58a444f99b70b2f63b01","integrity":"sha256-uDrvGGzR/uHF21whySlSjO99GjNIXVikRPmbcLL2OwE="},"tinymce/plugins/textcolor/plugin-28ab395ea6dfbe3ca00cc85474556006e3d299c82f20ac9e83f67a6db6a15242.js":{"logical_path":"tinymce/plugins/textcolor/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":546,"digest":"28ab395ea6dfbe3ca00cc85474556006e3d299c82f20ac9e83f67a6db6a15242","integrity":"sha256-KKs5XqbfvjygDMhUdFVgBuPSmcgvIKyeg/Z6bbahUkI="},"tinymce/plugins/textpattern/plugin-e08737496fb339132b7e08dd96bce0887392031353e206aecfecdd80665a0403.js":{"logical_path":"tinymce/plugins/textpattern/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":18706,"digest":"e08737496fb339132b7e08dd96bce0887392031353e206aecfecdd80665a0403","integrity":"sha256-4Ic3SW+zORMrfgjdlrzgiHOSAxNT4gauz+zdgGZaBAM="},"tinymce/plugins/toc/plugin-4d1c388ae94827bd4daa04db25c7fc86abef34ee4ae3b3f7c23c5895bc6a078f.js":{"logical_path":"tinymce/plugins/toc/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":3592,"digest":"4d1c388ae94827bd4daa04db25c7fc86abef34ee4ae3b3f7c23c5895bc6a078f","integrity":"sha256-TRw4iulIJ71NqgTbJcf8hqvvNO5K47P3wjxYlbxqB48="},"tinymce/plugins/visualblocks/plugin-6a108188d2b0f1fb88f097e369d9cb67cc213944d7b11f16501a51b825ea62da.js":{"logical_path":"tinymce/plugins/visualblocks/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":1652,"digest":"6a108188d2b0f1fb88f097e369d9cb67cc213944d7b11f16501a51b825ea62da","integrity":"sha256-ahCBiNKw8fuI8JfjadnLZ8whOUTXsR8WUBpRuCXqYto="},"tinymce/plugins/visualchars/plugin-38fdc7742fa0f36b65af47d47d91f74a0f0c976c18d6b029b70f4e54c58c34a5.js":{"logical_path":"tinymce/plugins/visualchars/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":7081,"digest":"38fdc7742fa0f36b65af47d47d91f74a0f0c976c18d6b029b70f4e54c58c34a5","integrity":"sha256-OP3HdC+g82tlr0fUfZH3Sg8Ml2wY1rAptw9OVMWMNKU="},"tinymce/plugins/wordcount/plugin-7b30653d1524deab208a452ce81b800a4de426cc91fceae4eca5c686b060ba78.js":{"logical_path":"tinymce/plugins/wordcount/plugin.js","mtime":"2020-01-16T20:20:11+01:00","size":13186,"digest":"7b30653d1524deab208a452ce81b800a4de426cc91fceae4eca5c686b060ba78","integrity":"sha256-ezBlPRUk3qsgikUs6BuACk3kJsyR/Ork7KXGhrBgung="},"tinymce/themes/mobile/theme-3b6cfd8e85aa4cd48d541a0a41e6150e356ae1c0465fb62adafca1ce83629949.js":{"logical_path":"tinymce/themes/mobile/theme.js","mtime":"2020-01-16T20:20:11+01:00","size":181730,"digest":"3b6cfd8e85aa4cd48d541a0a41e6150e356ae1c0465fb62adafca1ce83629949","integrity":"sha256-O2z9joWqTNSNVBoKQeYVDjVq4cBGX7Yq2vyhzoNimUk="},"tinymce/themes/silver/theme-74965ba198307e513a8b8ab9c75bf7afceab2aab3db185c520de06bae6e0bc24.js":{"logical_path":"tinymce/themes/silver/theme.js","mtime":"2020-01-16T20:20:11+01:00","size":406031,"digest":"74965ba198307e513a8b8ab9c75bf7afceab2aab3db185c520de06bae6e0bc24","integrity":"sha256-dJZboZgwflE6i4q5x1v3r86rKqs9sYXFIN4GuubgvCQ="},"tinymce/tinymce-d8d7d4ca47f6ef4ce19ed7d5ded0ca20723a967cc368279a3f6417682a422371.js":{"logical_path":"tinymce/tinymce.js","mtime":"2020-01-16T20:20:11+01:00","size":439629,"digest":"d8d7d4ca47f6ef4ce19ed7d5ded0ca20723a967cc368279a3f6417682a422371","integrity":"sha256-2NfUykf270zhntfV3tDKIHI6lnzDaCeaP2QXaCpCI3E="},"tinymce/skins/content/dark/content-6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af.css":{"logical_path":"tinymce/skins/content/dark/content.css","mtime":"2020-01-16T20:20:11+01:00","size":832,"digest":"6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af","integrity":"sha256-bRDQxKY6sC+PtdNSaYMroeJtTnTkGdAfTGbFKC090a8="},"tinymce/skins/content/dark/content.min-6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af.css":{"logical_path":"tinymce/skins/content/dark/content.min.css","mtime":"2020-01-16T20:20:11+01:00","size":832,"digest":"6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af","integrity":"sha256-bRDQxKY6sC+PtdNSaYMroeJtTnTkGdAfTGbFKC090a8="},"tinymce/skins/content/default/content-6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528.css":{"logical_path":"tinymce/skins/content/default/content.css","mtime":"2020-01-16T20:20:11+01:00","size":707,"digest":"6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528","integrity":"sha256-bIdWuj4C+XRR1cVb6FU3w/x12m6e3qcSHIueZKqQNSg="},"tinymce/skins/content/default/content.min-6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528.css":{"logical_path":"tinymce/skins/content/default/content.min.css","mtime":"2020-01-16T20:20:11+01:00","size":707,"digest":"6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528","integrity":"sha256-bIdWuj4C+XRR1cVb6FU3w/x12m6e3qcSHIueZKqQNSg="},"tinymce/skins/content/document/content-cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f.css":{"logical_path":"tinymce/skins/content/document/content.css","mtime":"2020-01-16T20:20:11+01:00","size":791,"digest":"cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f","integrity":"sha256-zvJYC5g/1XB2jsk77TJUTP1POutcxx2piOWsqoA8J28="},"tinymce/skins/content/document/content.min-cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f.css":{"logical_path":"tinymce/skins/content/document/content.min.css","mtime":"2020-01-16T20:20:11+01:00","size":791,"digest":"cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f","integrity":"sha256-zvJYC5g/1XB2jsk77TJUTP1POutcxx2piOWsqoA8J28="},"tinymce/skins/content/writer/content-eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622.css":{"logical_path":"tinymce/skins/content/writer/content.css","mtime":"2020-01-16T20:20:11+01:00","size":728,"digest":"eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622","integrity":"sha256-645I0XXzfuOk3rT6+0zeX1eUILS6YsFOluban9k3tiI="},"tinymce/skins/content/writer/content.min-eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622.css":{"logical_path":"tinymce/skins/content/writer/content.min.css","mtime":"2020-01-16T20:20:11+01:00","size":728,"digest":"eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622","integrity":"sha256-645I0XXzfuOk3rT6+0zeX1eUILS6YsFOluban9k3tiI="},"tinymce/skins/ui/oxide-dark/content-81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.css","mtime":"2020-01-16T20:20:11+01:00","size":17265,"digest":"81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef","integrity":"sha256-gcYI64qZEeo899YCbpcUAIPb1VlnBr4PYzAFxvgBde8="},"tinymce/skins/ui/oxide-dark/content.inline-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.inline.css","mtime":"2020-01-16T20:20:11+01:00","size":17581,"digest":"4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092","integrity":"sha256-QJm+hf6lfcG1EC+q/2SKNuZpk1omndLMM66WcPADoJI="},"tinymce/skins/ui/oxide-dark/content.inline.min-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.inline.min.css","mtime":"2020-01-16T20:20:11+01:00","size":17581,"digest":"4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092","integrity":"sha256-QJm+hf6lfcG1EC+q/2SKNuZpk1omndLMM66WcPADoJI="},"tinymce/skins/ui/oxide-dark/content.min-81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.min.css","mtime":"2020-01-16T20:20:11+01:00","size":17265,"digest":"81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef","integrity":"sha256-gcYI64qZEeo899YCbpcUAIPb1VlnBr4PYzAFxvgBde8="},"tinymce/skins/ui/oxide-dark/content.mobile-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.mobile.css","mtime":"2020-01-16T20:20:11+01:00","size":294,"digest":"72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064","integrity":"sha256-clFMbAK98C/nJ8v0qPyNBz3uj8+u376EdEmmIb/w8GQ="},"tinymce/skins/ui/oxide-dark/content.mobile.min-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css":{"logical_path":"tinymce/skins/ui/oxide-dark/content.mobile.min.css","mtime":"2020-01-16T20:20:11+01:00","size":294,"digest":"72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064","integrity":"sha256-clFMbAK98C/nJ8v0qPyNBz3uj8+u376EdEmmIb/w8GQ="},"tinymce/skins/ui/oxide-dark/skin-8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.css","mtime":"2020-01-16T20:20:11+01:00","size":54738,"digest":"8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11","integrity":"sha256-j1YgUO3ElR0I3ExC2au9yYlEw6UUhHaGcSeJ6l+I3hE="},"tinymce/skins/ui/oxide-dark/skin.min-8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.min.css","mtime":"2020-01-16T20:20:11+01:00","size":54738,"digest":"8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11","integrity":"sha256-j1YgUO3ElR0I3ExC2au9yYlEw6UUhHaGcSeJ6l+I3hE="},"tinymce/skins/ui/oxide-dark/skin.mobile-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.mobile.css","mtime":"2020-01-16T20:20:11+01:00","size":20783,"digest":"8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a","integrity":"sha256-im0d74Ken0Iv2S24iFdAWuUSioFtsMM8+OTv9RNzizo="},"tinymce/skins/ui/oxide-dark/skin.mobile.min-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css":{"logical_path":"tinymce/skins/ui/oxide-dark/skin.mobile.min.css","mtime":"2020-01-16T20:20:11+01:00","size":20783,"digest":"8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a","integrity":"sha256-im0d74Ken0Iv2S24iFdAWuUSioFtsMM8+OTv9RNzizo="},"tinymce/skins/ui/oxide/content-38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd.css":{"logical_path":"tinymce/skins/ui/oxide/content.css","mtime":"2020-01-16T20:20:11+01:00","size":17640,"digest":"38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd","integrity":"sha256-OLdd/kTKwKuhx4rOvEImHBMNdzbLTbiZ3jU1eTyKTr0="},"tinymce/skins/ui/oxide/content.inline-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css":{"logical_path":"tinymce/skins/ui/oxide/content.inline.css","mtime":"2020-01-16T20:20:11+01:00","size":17581,"digest":"4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092","integrity":"sha256-QJm+hf6lfcG1EC+q/2SKNuZpk1omndLMM66WcPADoJI="},"tinymce/skins/ui/oxide/content.inline.min-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css":{"logical_path":"tinymce/skins/ui/oxide/content.inline.min.css","mtime":"2020-01-16T20:20:11+01:00","size":17581,"digest":"4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092","integrity":"sha256-QJm+hf6lfcG1EC+q/2SKNuZpk1omndLMM66WcPADoJI="},"tinymce/skins/ui/oxide/content.min-38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd.css":{"logical_path":"tinymce/skins/ui/oxide/content.min.css","mtime":"2020-01-16T20:20:11+01:00","size":17640,"digest":"38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd","integrity":"sha256-OLdd/kTKwKuhx4rOvEImHBMNdzbLTbiZ3jU1eTyKTr0="},"tinymce/skins/ui/oxide/content.mobile-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css":{"logical_path":"tinymce/skins/ui/oxide/content.mobile.css","mtime":"2020-01-16T20:20:11+01:00","size":294,"digest":"72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064","integrity":"sha256-clFMbAK98C/nJ8v0qPyNBz3uj8+u376EdEmmIb/w8GQ="},"tinymce/skins/ui/oxide/content.mobile.min-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css":{"logical_path":"tinymce/skins/ui/oxide/content.mobile.min.css","mtime":"2020-01-16T20:20:11+01:00","size":294,"digest":"72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064","integrity":"sha256-clFMbAK98C/nJ8v0qPyNBz3uj8+u376EdEmmIb/w8GQ="},"tinymce/skins/ui/oxide/skin-c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc.css":{"logical_path":"tinymce/skins/ui/oxide/skin.css","mtime":"2020-01-16T20:20:11+01:00","size":54885,"digest":"c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc","integrity":"sha256-wwsVSO52UM+f12uRZQWTSoKhMw4OiLb7LsbAI2vorLw="},"tinymce/skins/ui/oxide/skin.min-c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc.css":{"logical_path":"tinymce/skins/ui/oxide/skin.min.css","mtime":"2020-01-16T20:20:11+01:00","size":54885,"digest":"c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc","integrity":"sha256-wwsVSO52UM+f12uRZQWTSoKhMw4OiLb7LsbAI2vorLw="},"tinymce/skins/ui/oxide/skin.mobile-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css":{"logical_path":"tinymce/skins/ui/oxide/skin.mobile.css","mtime":"2020-01-16T20:20:11+01:00","size":20783,"digest":"8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a","integrity":"sha256-im0d74Ken0Iv2S24iFdAWuUSioFtsMM8+OTv9RNzizo="},"tinymce/skins/ui/oxide/skin.mobile.min-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css":{"logical_path":"tinymce/skins/ui/oxide/skin.mobile.min.css","mtime":"2020-01-16T20:20:11+01:00","size":20783,"digest":"8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a","integrity":"sha256-im0d74Ken0Iv2S24iFdAWuUSioFtsMM8+OTv9RNzizo="},"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff":{"logical_path":"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff","mtime":"2020-01-16T20:20:11+01:00","size":4624,"digest":"e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213","integrity":"sha256-5kvxVqQy1j9bNLRWe1E9wNNRtJFhx/YI+4JXS/3Z0hM="},"tinymce/skins/ui/oxide/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff":{"logical_path":"tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff","mtime":"2020-01-16T20:20:11+01:00","size":4624,"digest":"e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213","integrity":"sha256-5kvxVqQy1j9bNLRWe1E9wNNRtJFhx/YI+4JXS/3Z0hM="},"application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js":{"logical_path":"application.js","mtime":"2020-01-16T20:20:11+01:00","size":2001327,"digest":"f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89","integrity":"sha256-9nQYuzBg6dR7KbnMPS5ptH4aKAyPY9UL1NsD0llYjIk="},"maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js":{"logical_path":"maps.js","mtime":"2020-01-16T20:20:11+01:00","size":3760,"digest":"81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25","integrity":"sha256-gc+ulY75JIyrL2ZsxTyKADzx4RvLC5ApfAHIf95VfiU="}},"assets":{"active_admin.js":"active_admin-436f1e127c3c5bfcfd081ea8dc17dc0f907b763b9d8967182739d9b3257848e9.js","tinymce.js":"tinymce-e887823f61aacbb4b0879737509c9fc001e27976aed4315081c6bdcfed3ea84f.js","modernizr.js":"modernizr-34f958b565f8b625d03a9216afe69e6819d4d0bb5eb423e48c532aab27d533b0.js","font-awesome/fa-brands-400.eot":"font-awesome/fa-brands-400-e9fdf947c39f06f1b5e63c58eea2f2f74850421b4e32047dacb9c7b75dd42a16.eot","font-awesome/fa-regular-400.eot":"font-awesome/fa-regular-400-c1465a6b8743622f759b08a6d5336e57eb6eabdba1b6393fba6d30d45382f3d2.eot","font-awesome/fa-solid-900.eot":"font-awesome/fa-solid-900-f29eef66eb3ad0e3574d8edb4b9e72a04692a0b2b92d99eb7c4b977611ddd4fe.eot","font-awesome/fa-brands-400.svg":"font-awesome/fa-brands-400-36b51fbe6b87587541b9173cd79c16c6b359ad22a172b922204f9aa87411acd9.svg","font-awesome/fa-regular-400.svg":"font-awesome/fa-regular-400-7ab8a39f4c48b743bd6acbbf5ea4c7547efcb62ad966e9bef3e41996afc44fd4.svg","font-awesome/fa-solid-900.svg":"font-awesome/fa-solid-900-eaf0f3d0cadad17eed1045cf68c30db7abffb4c8ef4ee9cb5f4026fdefc99a59.svg","font-awesome/fa-brands-400.ttf":"font-awesome/fa-brands-400-6b347ff01e588a2a6909ccd7f7f5866b27484391547e9df451ab9b4c27920c71.ttf","font-awesome/fa-regular-400.ttf":"font-awesome/fa-regular-400-6a335d1ce152f2b5b02bf82cc445b02d1abccd7f408a87113424b5f8fcbbfade.ttf","font-awesome/fa-solid-900.ttf":"font-awesome/fa-solid-900-0389b061db08d406704c9bb8819e09c3558ac956287b3e9da8e6645a79d528ea.ttf","font-awesome/fa-brands-400.woff":"font-awesome/fa-brands-400-1af816db9a686faa76bfbda779df959e6213de714a94b87aa7374a151f6f4900.woff","font-awesome/fa-regular-400.woff":"font-awesome/fa-regular-400-864c8f702a5e63198bb76ef0240b599cc065d4904c2afc5da6c8a29bbf0d6c64.woff","font-awesome/fa-solid-900.woff":"font-awesome/fa-solid-900-3b60c77e0c81c1c9cdc9adb96ade6dbac7ef2b9402a316185855de7122e517db.woff","font-awesome/fa-brands-400.woff2":"font-awesome/fa-brands-400-8e4560c16c7970efa47680450b2cf239d4a482c056d308acea12bb9022906c8b.woff2","font-awesome/fa-regular-400.woff2":"font-awesome/fa-regular-400-86e496b536b26ba60cdb68df9dd9143b19a63b65e30e373b0321833aab1295d6.woff2","font-awesome/fa-solid-900.woff2":"font-awesome/fa-solid-900-787d76ad6deab67ccf8bac1b584260205e114f508fc5542b612e3f75d49a34e4.woff2","active_admin/print.css":"active_admin/print-9ca4108e628bcfc6e44c479857ca1db74875fcc9c7966d070fe80be7bb50c98b.css","active_admin.css":"active_admin-dec69308746afc6dbd02775421aa3e1f79637faf69ee5142205b51e446e82b71.css","manifest.js":"manifest-39627dc52fb1b4829654c355d77d306701477a489888ca0be3235350102e858f.js","agendadescommuns.png":"agendadescommuns-0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33.png","alert.png":"alert-762ace9479328243a44061346b64c4d6b997e963c68dfc6bddd9e4d241192906.png","baby_gnu_adl.png":"baby_gnu_adl-463a81820aa2d4ffd8e7210dbce1a19ffcac67ef362aa7b092280c6f95c903fc.png","baby_gnu_adl.svg":"baby_gnu_adl-97251005d3225cf1d58b8c497d6b7905dbc9560cc8acd50118fcce60d0a2679e.svg","communs.png":"communs-0017bef53f6261cb3bf952d4b780c64307369714b2e1e2d4eb9f69dfd986ab33.png","lef-small.png":"lef-small-93285d531af463f877951d63fe844a6e9600b782c2c81f78723b730072fa942e.png","lef.png":"lef-7e9152b909c78144ff44ca2254c06709333bef0b8d4985deb1361aba5c63c86d.png","linux-presentation-day.png":"linux-presentation-day-863b30562924505dd21841220861f83643d310e0b943a0e6a905462ddfac86f1.png","osm_logo.svg":"osm_logo-0e91a8acd0a92c1bf14204322322e57c65c2a7e318fec6907252fed929b7d6d3.svg","priorite-logiciel-libre-je-soutiens-april_2_m.png":"priorite-logiciel-libre-je-soutiens-april_2_m-6442e454e96ed45cc1ebc40673a6c50bd286b9c28ea6a8b58572e94f7d6459fc.png","regions/CA-QC.png":"regions/CA-QC-70699e6a6e25c69040a3f1548b0afd829c4903ccca2760b6c10f49cc87d5d174.png","team.png":"team-65c86021cf8a1154493664094aeafcbe3e5aa13dc675bb8ef34b220481db98fa.png","application.js":"application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js","application.css":"application-8002eadc07c8d58b56bad6f45a5e2607344c903abacfe94121bd35aa25f764a8.css","flags/4x3/ad.svg":"flags/4x3/ad-f67c4e5a3f709ead53c04d9ff35614e6c67517c3d3289170f7a317390f661497.svg","flags/1x1/ad.svg":"flags/1x1/ad-a315836ec2c9dcc11ef9bfd8b18aa7ccfc2d31435cbf46a2c31930836076e09c.svg","flags/4x3/ae.svg":"flags/4x3/ae-7a3b3dc0f50b5310014cfbcc8200a5f1ce568127bf43452e40e8158e0cff2d2e.svg","flags/1x1/ae.svg":"flags/1x1/ae-bcdd9a4da09598785f3e31db4ff431e22687b2ead18209a3e615600655068cd5.svg","flags/4x3/af.svg":"flags/4x3/af-01601b521fa86582e32c39eed8c88480afec1f801b6de929b52ed7e49da47260.svg","flags/1x1/af.svg":"flags/1x1/af-6332cf754a5e2866db631923e1f7cfc52a0a554d32b97bcf19f8263819e4ca7d.svg","flags/4x3/ag.svg":"flags/4x3/ag-cb6952d821bac7855231c2cb4d1c44f7c730f6b3621518ab20f30d2b9afe604b.svg","flags/1x1/ag.svg":"flags/1x1/ag-14f7d9978487aaf4446b55167e85a711c48a13ff07edac175c172969a38650c4.svg","flags/4x3/ai.svg":"flags/4x3/ai-f07c6cc0646fdfa441b9a506e1d46e8dce0d97b37222292e9c6733c995dc89bc.svg","flags/1x1/ai.svg":"flags/1x1/ai-95099e544de29bcea3ba735de535823f2e19aeb4043e82dbc1d9862f9262b810.svg","flags/4x3/al.svg":"flags/4x3/al-9b997f2720de861e1b0ccec8ddf42a2890795ebf50817f9223e1ceba712c9b03.svg","flags/1x1/al.svg":"flags/1x1/al-94852d2711fc23abf3423534b9edb950a0c6aabf1d2d98bf2643f3c7dadfac09.svg","flags/4x3/am.svg":"flags/4x3/am-85a199ec21d1af74a256335ead0c1e38592bb603d8da81feda4678945e9e00e6.svg","flags/1x1/am.svg":"flags/1x1/am-869391b014ac299924d30777d72a4aba430752177290a90a1fc3255a7ad79ee7.svg","flags/4x3/ao.svg":"flags/4x3/ao-29224a61bf632826d530cda55d87c2615884bd2c2c3a322036ed468e34d85c75.svg","flags/1x1/ao.svg":"flags/1x1/ao-048eacbc862fe1868cf0ec73457b70a8b49a598c80dea049856f0e1fd6fec83e.svg","flags/4x3/aq.svg":"flags/4x3/aq-b401a776d2f1a7944170114f0aeeceab5e1d962df3de7ed1eff47d96824b73fd.svg","flags/1x1/aq.svg":"flags/1x1/aq-a8d7ce9bfb860b6e2b58608b50bf2cafc5220c77f6d049ab7770891f64334531.svg","flags/4x3/ar.svg":"flags/4x3/ar-bf73475bb707100874dec538ce4b7e1b5afc4ed67dc50a8a800ee519e51cc826.svg","flags/1x1/ar.svg":"flags/1x1/ar-fc6582cc6d3ef0782805d8497ee77ab2d836c53422e91007e48f81a4a9fa2e60.svg","flags/4x3/as.svg":"flags/4x3/as-79d395190345206ea03475b67b44638e1111562411504b60646483c9c0b0f7d1.svg","flags/1x1/as.svg":"flags/1x1/as-04f0db77c5d8610a55c69508b226a7c338924f8cf7d6577d5d6590e85ee57183.svg","flags/4x3/at.svg":"flags/4x3/at-3d197de8f1f0096a2b0d440b6fc7d80821585a6637e646c05487a87718bf6b5f.svg","flags/1x1/at.svg":"flags/1x1/at-ec4db9aeac793827ac7c8e40c072a76f7675010058cc8c8dfd3a86bb5acfa6b8.svg","flags/4x3/au.svg":"flags/4x3/au-126fa2500a315287a5f847f4d958bb929f11da9b39f35912cc440c0fcffb8b12.svg","flags/1x1/au.svg":"flags/1x1/au-bf990dcc957c9f74eb908e8ffa733f1731277bf6ec8b7301a6ea1ed92b59cc4b.svg","flags/4x3/aw.svg":"flags/4x3/aw-4524643452423e95f3b0dbe6216b059a9e52126b34c73ae4b3c17b682f893aa6.svg","flags/1x1/aw.svg":"flags/1x1/aw-f7002bceef55486a442bf6bf433be0c60d0b15b2aa548b81c524c67ccf0565a8.svg","flags/4x3/ax.svg":"flags/4x3/ax-c297e0eb654ca62e58f5eb3abb70df9f245e4919490f29bd0f1d49c4fe052d90.svg","flags/1x1/ax.svg":"flags/1x1/ax-a1245689ecbf321c0a9e556bba17f3c9f2aeb8b1f63d14fcb591d76a87f12880.svg","flags/4x3/az.svg":"flags/4x3/az-132e68d5e0386d3b9fa05b4288a0fd66f1414e2bc7af6b9d437b6935a7dfa00c.svg","flags/1x1/az.svg":"flags/1x1/az-3990c0526b933bd650285d821f2b93e432a73ba709869549b8ef75b051d3bd2d.svg","flags/4x3/ba.svg":"flags/4x3/ba-89dd0c1600d94741de7d667a487310193a0c48c4cf1a5159c3bf9dd37d65d2b5.svg","flags/1x1/ba.svg":"flags/1x1/ba-2dbe90eb12b937f4a9ae8db95760930a3e318f4ce5829ac05e292ead698bae5a.svg","flags/4x3/bb.svg":"flags/4x3/bb-16f8249ff958bfbc18fb1f23a5282000347bffdb5769ac620966185b1dcb57f6.svg","flags/1x1/bb.svg":"flags/1x1/bb-fae92d8426196ae24ffa561aca72613fae651a5e9c0bcda63ecc877add05b060.svg","flags/4x3/bd.svg":"flags/4x3/bd-8dac0547e73ee25a04148a3f0fd026a90e56c23b7e92921565d4263050ba77a6.svg","flags/1x1/bd.svg":"flags/1x1/bd-ecc3c3e87d4cc59c8350f2b4d7dca8f5cf46bdb26319db0ee80b744482af50c1.svg","flags/4x3/be.svg":"flags/4x3/be-a180ca68521188017bb5367f19e503d9599d6cbecd61bf054e59a57f58e648ae.svg","flags/1x1/be.svg":"flags/1x1/be-c8d4194137bd01955285b329dfdf996490d16c3116a92ce2f322e354b6d7494e.svg","flags/4x3/bf.svg":"flags/4x3/bf-6b214936ef89f19133d4a84e99cdf0cfdb99d6409f2f373f6d18694423013313.svg","flags/1x1/bf.svg":"flags/1x1/bf-04c7d61aa314adab5a41bd79d77aa780c10136bb6b8f4c62423e61e23e3851ee.svg","flags/4x3/bg.svg":"flags/4x3/bg-dd3985ba746942b0e65bc52a280cc4d28fb24fd2c7d9e22ac9afd2d75ee7bfc4.svg","flags/1x1/bg.svg":"flags/1x1/bg-f59294a736d5bdc0f102b58d70dbe45d02bd92df822820bf95336840f75a0746.svg","flags/4x3/bh.svg":"flags/4x3/bh-7c82c4a6ba963172c6c1b4423f39a0ebe9c999449cc7dd87018917943db4735c.svg","flags/1x1/bh.svg":"flags/1x1/bh-6893aac3e55c6480e9dac0c023ec2179f6c12a0da82a0bc2717134384c097e88.svg","flags/4x3/bi.svg":"flags/4x3/bi-4fcd0116f7f93c0564c6955806f3c3563d0ea7334ae406f29a897255845c923c.svg","flags/1x1/bi.svg":"flags/1x1/bi-91c34eb431b26be67852782a0b93e1d7d577a925454d6c8cea00a0d872d2de8a.svg","flags/4x3/bj.svg":"flags/4x3/bj-63bddb4268f5f8c2ed867041bcf058fb18fcd9d1e0799e01286fca2d5e961c7f.svg","flags/1x1/bj.svg":"flags/1x1/bj-e2606c5a8498c474a6b6708626b88108fcb73840344766566dc56f804279cdfc.svg","flags/4x3/bl.svg":"flags/4x3/bl-824a7265f48789d5e1ad5c5b0042a13a7d2d4357210e5bd8124fca19931e8c74.svg","flags/1x1/bl.svg":"flags/1x1/bl-ba6a7881b0ca72ac57aee4d823ae611ab4ad24a938ee9e01a7a4d5ae04cfccf6.svg","flags/4x3/bm.svg":"flags/4x3/bm-2e2f09e5a4edf4b18afff581656f50b0b4c37783db29591ff00ca768f7f755bc.svg","flags/1x1/bm.svg":"flags/1x1/bm-f553f953f8784ea4d67a5197f5d808a67747eb8a1cb56990d6838e690090d2d6.svg","flags/4x3/bn.svg":"flags/4x3/bn-bcf9967c12eb6397346cb5b960ae92efa41f314f780d09a3d7c81f5dacac4180.svg","flags/1x1/bn.svg":"flags/1x1/bn-1d1aad3fe9fd33ce922eba33c9ae6047a5646349239c20d1bc7307ec6d19a043.svg","flags/4x3/bo.svg":"flags/4x3/bo-fa423f2bb4ab6e8e9dd399ad73781ea8d9cbafd30f1b7ee0bcecfb9e7b75581e.svg","flags/1x1/bo.svg":"flags/1x1/bo-f5faa29e40191e0c76070ac1a1d2a1f2b18e9cd358b8a77cefaed8efc49a265e.svg","flags/4x3/bq.svg":"flags/4x3/bq-493c92ab19204c3ad319e6caba021df050132b99bd57a8f9b74131b78229c29e.svg","flags/1x1/bq.svg":"flags/1x1/bq-6e30bbeabc2aa097f657a411984b3c23278a8fcce2fc016b1cd6d2262f672d33.svg","flags/4x3/br.svg":"flags/4x3/br-cf3ba80ec2c9fd4d3c845c3a3c43a2b9d81cf90707a2918789e8b1f596833e01.svg","flags/1x1/br.svg":"flags/1x1/br-7bf4e4b31650ac25f0bc6c86eb87491a7e5a8eac13acccfcbde44346c88728f6.svg","flags/4x3/bs.svg":"flags/4x3/bs-69f60b5fea96b67dd939e597099994921bb3dc3bcf31b8dee7cc45be2885c836.svg","flags/1x1/bs.svg":"flags/1x1/bs-f5d6acf7ef7a240dc09ac88710fd77fd3494501104392db74d5c540d482f2262.svg","flags/4x3/bt.svg":"flags/4x3/bt-6c20b0c00e12d5898be0239a0c66ce775debd0bd536de56a271859a0285a039e.svg","flags/1x1/bt.svg":"flags/1x1/bt-58de3ca9438811ef1920e2f84c4ba4ce32d01069f4d197ab5d577de6acbe0c85.svg","flags/4x3/bv.svg":"flags/4x3/bv-ff173190fc339b3cb8b6e8235bc5e373853d7127fd94cbc32ac737e839aeb586.svg","flags/1x1/bv.svg":"flags/1x1/bv-59616ff1a722959064c83927ca2e49c1fce42a9b18e91b9ecbb74f62527aff43.svg","flags/4x3/bw.svg":"flags/4x3/bw-4bb1d3131b88c65b5decc67f7b44903e931bca2fcac841942591c599f0cbb850.svg","flags/1x1/bw.svg":"flags/1x1/bw-e08f50c0836ca5858aed7b0526aed6fb630da8dc6b6b96bd9a476af599dc89d6.svg","flags/4x3/by.svg":"flags/4x3/by-324ac96bfbe075781c664be3b9e2ac6b4d2a46dd2b418ca0920284f64394c7d4.svg","flags/1x1/by.svg":"flags/1x1/by-37b80e8bf7e51fef99a8307d6dffb04ee164790ceeafef606d516ca333e9488a.svg","flags/4x3/bz.svg":"flags/4x3/bz-156fdc45f8c15c9520a1ea9fc0f395f294f02077408ea1938c222a37cfbb7f1d.svg","flags/1x1/bz.svg":"flags/1x1/bz-24577d4e7b29b33ab3b1d37914c8479889baa7e8c8399c6d1c99faed31ab053a.svg","flags/4x3/ca.svg":"flags/4x3/ca-0d57cab46d5dbb0012a5e4ae0a9efee3baee90d5d157950a6c5d67edf2daa58f.svg","flags/1x1/ca.svg":"flags/1x1/ca-192a6fb0544e5a6f33a32149d62f1e7ac0a1d61c5c5afa57f3a42346ca8e8c90.svg","flags/4x3/cc.svg":"flags/4x3/cc-a35f2a9e10a28d6918ced65e0623b03bb2fbf1f20670b581bc0a409d33b4e843.svg","flags/1x1/cc.svg":"flags/1x1/cc-d2025eefc9d30f724f3fcd95c0fd9f7938930ecb01af7e0cd6ee6553d7358eb6.svg","flags/4x3/cd.svg":"flags/4x3/cd-5d2127c991b30522ae0a29d05facbc88728c050d7e333a60d614af1545459c5c.svg","flags/1x1/cd.svg":"flags/1x1/cd-59dacf424d1c8c779db66c5b7f2a93a3c8f14976c2975ccfb07639676a1602e3.svg","flags/4x3/cf.svg":"flags/4x3/cf-ac0aaffba354d848eba2501a402ee81dc96a56ad0acd3741ec9905e76c372e1e.svg","flags/1x1/cf.svg":"flags/1x1/cf-e637674faf7edcdad37182192d038448c157421ab0c69377d9b8e56ab2c0249d.svg","flags/4x3/cg.svg":"flags/4x3/cg-3729f717c83c9df7d0543a1a5d4a506efe184bdfeb39f9260b4b63edf19d2538.svg","flags/1x1/cg.svg":"flags/1x1/cg-8353ff1f251714b1b8905eec1722378426719955d0637d206d35d1dcfa68ddcf.svg","flags/4x3/ch.svg":"flags/4x3/ch-6739edee6d1ef72c4ed97cfe723d3bb7f17e4df5390f3a4ae234f1ffdeece0cf.svg","flags/1x1/ch.svg":"flags/1x1/ch-7c3dec465228981c57a90a3a7b3a6c42dd3e699230663e770b55008ce6d14208.svg","flags/4x3/ci.svg":"flags/4x3/ci-3e076d13c9524149508c442f8f727424660124e3591280d8ae9bddf9d8272a1e.svg","flags/1x1/ci.svg":"flags/1x1/ci-691a0a8577b7d555fc90dc7170adc9ec7571191cb3507c46c0e8516fd1778a91.svg","flags/4x3/ck.svg":"flags/4x3/ck-9cff098e505afde9bf5166cb7b0c409178575633b913ce08c1c700d08c477db6.svg","flags/1x1/ck.svg":"flags/1x1/ck-9c8dffa3bd5953d8a121780831f25b58738e67f3be71961894c56dfd25848c88.svg","flags/4x3/cl.svg":"flags/4x3/cl-a4c57ec2bb9adcb67e1850256e5165227b764187d6941a38d95d0def5144699b.svg","flags/1x1/cl.svg":"flags/1x1/cl-5a3e95cf63358e3911c97404818c2cddfd46414d8445e47d6976ee166c48926c.svg","flags/4x3/cm.svg":"flags/4x3/cm-5dce9f36d92a61bdc0c482141bdb4f55bfcec0a2ecc745db643a7953e2e5a722.svg","flags/1x1/cm.svg":"flags/1x1/cm-d8d21f54c44df5df9edef227691384a4ad37c15ff57c8aa0dead684d19eac8cd.svg","flags/4x3/cn.svg":"flags/4x3/cn-48ce1c2837bb806a6aaf8b7a9878b6d040c0d069a0ffca9a8a49e7a31aa30e7f.svg","flags/1x1/cn.svg":"flags/1x1/cn-e6be64c6c4a976e64d39bfe8a6ae4a5b1d38a6aa1b138ddcacf34a942dff50bc.svg","flags/4x3/co.svg":"flags/4x3/co-648d3ff596a0ecf3e85ac17c53abe1d7ca4759688e10a7a3a8b56f096ba6b6f7.svg","flags/1x1/co.svg":"flags/1x1/co-d3c16180c6bce630f762aff789104d10e9dbc949e740535a61396cd0ec34c1a1.svg","flags/4x3/cr.svg":"flags/4x3/cr-84aec60f19bd33e1ac1a209155fec8d372e17cb59dc1346bb9124e5cc867375d.svg","flags/1x1/cr.svg":"flags/1x1/cr-5371cf8bc5ad1a805155c1b3065e420a0a418c8d63b472bc545890289a365b35.svg","flags/4x3/cu.svg":"flags/4x3/cu-bb3f857e02aeab606120d9f164283f07a44b227f12aad7d6d344c7579f7b3ff0.svg","flags/1x1/cu.svg":"flags/1x1/cu-02c0054169b874a8d231de1f45b2d0884de48848157734e0ddcd0f684c05c18d.svg","flags/4x3/cv.svg":"flags/4x3/cv-90ee90ab59713454a218d8c300c71139e62655de80bfbea81df93142a529b81f.svg","flags/1x1/cv.svg":"flags/1x1/cv-2cf3eede97a468d28459ccc2271c28bb5b6029af2388b0301f6203be55e49308.svg","flags/4x3/cw.svg":"flags/4x3/cw-d46beb7b10b40fa82cfd40eb86a3b3879f59f5da2a2f5ef91d121ab9b16c0aad.svg","flags/1x1/cw.svg":"flags/1x1/cw-ba78c834e61b24a8a2b6bc7c80ab9f14e42c3c69415941ddb7c8c1f652ccd8b5.svg","flags/4x3/cx.svg":"flags/4x3/cx-28187fb9d91bedc6f239b107d26eb6ec1cc2a0c7730810306c5a6b313c14f2b2.svg","flags/1x1/cx.svg":"flags/1x1/cx-8ebe073d997f93d092a493300ea1d234c91aef80c6e8f431e88aa7f8e724f9a6.svg","flags/4x3/cy.svg":"flags/4x3/cy-8d633ecabc7968bb8a869c62545f122aacbbc3e108c25ceb421bb8bc8734b9be.svg","flags/1x1/cy.svg":"flags/1x1/cy-6ef37fdd7518f18727bec1ed9741bb4d1f854dde7ef1a7e9fd2f4ba6291a7790.svg","flags/4x3/cz.svg":"flags/4x3/cz-6c94e3d53fc1ae5982d8eb058b76d86f07d3fb4cd325698fea3291fa35504c56.svg","flags/1x1/cz.svg":"flags/1x1/cz-af9898ebd32559cdbea2fd17b351e5eedafccada6fbc6a2b7952cad78369817e.svg","flags/4x3/de.svg":"flags/4x3/de-e7323083675d25107c85f0cea6534bd21d21e77e6d524d92e1b2d0a4e21117a1.svg","flags/1x1/de.svg":"flags/1x1/de-fdb60146952d3b2d104310b28882a0ecde44d808240c3bab2cd6c302a538b266.svg","flags/4x3/dj.svg":"flags/4x3/dj-546da4a0dae9b1ab74dc6ac6076d0c706f37ef2a0d799342dd0345e11f770f03.svg","flags/1x1/dj.svg":"flags/1x1/dj-c0481b667f003d9d5a3c93861023a97a98224227ac19aa7e07b5b6edd35fe900.svg","flags/4x3/dk.svg":"flags/4x3/dk-a13735c0337ab4679cd8679508bf5e8067637ab611ca5c54172c621d740420e5.svg","flags/1x1/dk.svg":"flags/1x1/dk-822a3b8b6948f49aa81fe7620bd173453d9a45406a9680f24bad7e714e58cb7c.svg","flags/4x3/dm.svg":"flags/4x3/dm-7713fabd3cf341694b4c1ef5d1379820773722b61c190234ac7416f2872e3940.svg","flags/1x1/dm.svg":"flags/1x1/dm-33d984fc9897bb2a3bd16c6672b876effc1a8adc0c57ad122a16db54061e4e46.svg","flags/4x3/do.svg":"flags/4x3/do-714b6f307ea3a9c3d30348684b8574e8b7f5078f51649dfa97ae2a69a7108b4a.svg","flags/1x1/do.svg":"flags/1x1/do-d37306c4b346f89ea14739144374caad69652be31e8ce8e2504c9a0d422a4857.svg","flags/4x3/dz.svg":"flags/4x3/dz-a96e943c830558fe9823044aac2bfb3f6a4caf3bd3c57943352280a7f6b68cb1.svg","flags/1x1/dz.svg":"flags/1x1/dz-09400d3b2c58e641a1641a687b81476761d05f9d0ff65861aeaa33c7f508cda4.svg","flags/4x3/ec.svg":"flags/4x3/ec-6762ba85ea0f7bb289b0aa6219c797e5243103d281b1462c61b61030fa329d5e.svg","flags/1x1/ec.svg":"flags/1x1/ec-7410a75a013738fbb8cbd756d967380e02ae54ca74e9ef9a41c4b583c2c2794f.svg","flags/4x3/ee.svg":"flags/4x3/ee-ce3b622214bd9eefb43373cae2811ea8cf6ef6a16bb6afbaa5bcaaea34024da0.svg","flags/1x1/ee.svg":"flags/1x1/ee-a207a8363b4dde44f59951501c2cb539419e92b0814b25d6448710ced52226f8.svg","flags/4x3/eg.svg":"flags/4x3/eg-16a11fa93856ddc5fd46f8811adfc93660175724b20eaab55ff046855a352d2c.svg","flags/1x1/eg.svg":"flags/1x1/eg-9f4d098c604326bbc3692f9e2f335dbc9b34bdf2706565bf448380f0a889d1e2.svg","flags/4x3/eh.svg":"flags/4x3/eh-9cf4a74d29c1a1afc4137deeb5b678d55c8fbdf8d181217267f3a5cce6a76a97.svg","flags/1x1/eh.svg":"flags/1x1/eh-16c3327dbcf3483e634b3536b056324b5478212dae6d060f2ffb2ec961cd382f.svg","flags/4x3/er.svg":"flags/4x3/er-69a1e1e45289d1282df4b1e5ce5e712d69fbe314abd0c922353fce90814c543e.svg","flags/1x1/er.svg":"flags/1x1/er-90d49408e58955cf1cf3185b0193e03c4a107042d47ef5e975dbbe10c6ef7f4a.svg","flags/4x3/es.svg":"flags/4x3/es-50e59681c6b6412498bd9cbfc473abedc713db75c54c538b839db3c394d64499.svg","flags/1x1/es.svg":"flags/1x1/es-29c68fa3c9c8c2adacdc2eb0162e9c2fa998faa408836900ec6285000476800d.svg","flags/4x3/et.svg":"flags/4x3/et-14263ba7ea890fd0a4d89a2791343ecb7acc89aab1fc2593e00a6093b22251df.svg","flags/1x1/et.svg":"flags/1x1/et-086eefb70e9adad537cc1c640a72cc0fa843ec7a9b06b2778aa98b2db055bfe6.svg","flags/4x3/fi.svg":"flags/4x3/fi-a4c41caa02a4f6803ea0d6c36de4beebf20d150e3df742b1369a4099c2ff648e.svg","flags/1x1/fi.svg":"flags/1x1/fi-c5fdf318fac5fdfc94fe54268618e58a2bc5933617ead09992900f90cc25de9a.svg","flags/4x3/fj.svg":"flags/4x3/fj-cb0cc4b3b5c202f07487ee519f48b3eadb47035f5f2d5d3f99d20f81e48d6b79.svg","flags/1x1/fj.svg":"flags/1x1/fj-c2c7fd536841925e7647b2d510d6a0c58700e2a8ded0e42008fb93ffacde101f.svg","flags/4x3/fk.svg":"flags/4x3/fk-cb61eaa0d7221823f7d17de59ea88ed16b506f9585ab0c7291cf839449d82968.svg","flags/1x1/fk.svg":"flags/1x1/fk-a871742380ae157d1211a63cc35cd3621b1bf6de6d67e4a8e3565ad200b1d8cf.svg","flags/4x3/fm.svg":"flags/4x3/fm-079b937562a9a412aae8fb762b571ddb49bf23627943c97247b6a9bbdb768153.svg","flags/1x1/fm.svg":"flags/1x1/fm-dbec73633ecd8a6c50f56d54df36bbe6a2f8fb534ac7658477c82cad14a806a8.svg","flags/4x3/fo.svg":"flags/4x3/fo-27279c2481bb1cb3e44850a948987d6a8411acffa770c3aecd1b76d4c5853413.svg","flags/1x1/fo.svg":"flags/1x1/fo-7cb4fdbba1c7223702d843cb0709ddc799f89f909dfe101e3e36d6bf36c3e67f.svg","flags/4x3/fr.svg":"flags/4x3/fr-30ed2f68dc9a17927643640f48f3d2a858bd041770547035349c6e79713cd84e.svg","flags/1x1/fr.svg":"flags/1x1/fr-6b849151204c66fa661c30b34e62919a13b9e66b7cd37a4fc8962e8e0baf9bdc.svg","flags/4x3/ga.svg":"flags/4x3/ga-e3840f9d5bd6ee08db748d37a534500b837bee0f8ce65987b2f099a6afd2cc63.svg","flags/1x1/ga.svg":"flags/1x1/ga-9eafd5388042b3d2258ac6223075b726426210136b9851b637973105721b64d9.svg","flags/4x3/gb.svg":"flags/4x3/gb-ce93c8a6b974d63998e263f6d25f898fc20580a28464457f2f4463b687e4fe8d.svg","flags/1x1/gb.svg":"flags/1x1/gb-1d93e1ce2e2e10c1709e4dc50ac956c007b2c1a63a4bc22ddfd64354f79ad457.svg","flags/4x3/gd.svg":"flags/4x3/gd-7c3a6b6068bbd9a6abc98c2297dd4acd5e31022e5a4210fc0e1205ec28498fa2.svg","flags/1x1/gd.svg":"flags/1x1/gd-2310bc03d9e8ddc8599b40891bfb10b812b07023881599a7e02e3028d1bc9ca8.svg","flags/4x3/ge.svg":"flags/4x3/ge-501c0135fb8c377dbd2859ff6290b47ef4907a8e2ab2ae1e39116b716db6795f.svg","flags/1x1/ge.svg":"flags/1x1/ge-ca9ee36883ec12048fbb7fbbfaf231c0d4848ae0b07dab74a46d53b7b34d8114.svg","flags/4x3/gf.svg":"flags/4x3/gf-7c165f90bfe6ac3674903632182221a992f017ff706354b1761002382e89c2c2.svg","flags/1x1/gf.svg":"flags/1x1/gf-8838337b15cdcf143fac16c714e8dbf2d893d2ea8f1c8ef06dadcb652dfec41c.svg","flags/4x3/gg.svg":"flags/4x3/gg-2c7bfc50d5bcd374b5f6107974d06af24e70edba31ad71a225e0c2ecc2d6e778.svg","flags/1x1/gg.svg":"flags/1x1/gg-509489b1792831bb27d6975c76aa0a2ac2fa2c3906bcf844f616de5e0fbbc359.svg","flags/4x3/gh.svg":"flags/4x3/gh-79c187756e93df22fae571ad9419629c5247c016e32a74471e0d461048fdf5cf.svg","flags/1x1/gh.svg":"flags/1x1/gh-e7bf18e6337982ee31e3673ab93e722b3410b7a4c202656a4bc3887d8656286b.svg","flags/4x3/gi.svg":"flags/4x3/gi-ed99b369c8c77e64abd59fab1f28155d71b4378b49625c66ab0ab6dff4f88087.svg","flags/1x1/gi.svg":"flags/1x1/gi-2e563e96e766e13c0a9c5a3a372059a44739bb696e853d71a6f6b08c491dfb9a.svg","flags/4x3/gl.svg":"flags/4x3/gl-612e560dbad68d540be672b80e22c54db43d6e2070523e81c156ccd6b3fc4260.svg","flags/1x1/gl.svg":"flags/1x1/gl-a9bb35d2b9ff27638658d9ad6b9e2c4f452072b9a80b508d32e76d37bf62cf6e.svg","flags/4x3/gm.svg":"flags/4x3/gm-4a6f9670a41548cceaced2b728e4bc56acbc4a3ba5544e7a097f7dae7a8bb045.svg","flags/1x1/gm.svg":"flags/1x1/gm-b67f9f6bce2f8c8700c198de8bfafac72d01b8a1e55b77f71e8cafdc58f8af5c.svg","flags/4x3/gn.svg":"flags/4x3/gn-873b4eb52f34c7558bef93cfd1b82117b5c32c9fbc0610f8821ccd22f28abe28.svg","flags/1x1/gn.svg":"flags/1x1/gn-72f51dc30cf0ed5459ad0f239cf3043eac05ece75945bcaf4ea6653af868c504.svg","flags/4x3/gp.svg":"flags/4x3/gp-4559cad3eb2d173214161d16b0237c68f5c817749a39c862fa7b23dfb4aee923.svg","flags/1x1/gp.svg":"flags/1x1/gp-d6669532054db5b7e441f4858c28920246a65ca3e8a15518c64c7bbb4f9c6416.svg","flags/4x3/gq.svg":"flags/4x3/gq-0c8dfe7f9543307056bbe6d6e44a16c17201228e5344d5afec1ccf1b9a5eb2f9.svg","flags/1x1/gq.svg":"flags/1x1/gq-ecb761e6db59b9bf8ba37533eaf0c60b7fcc7c0dfa2fcf281ee84c970dcb10f8.svg","flags/4x3/gr.svg":"flags/4x3/gr-4a4086310397bffa682d439be8650a9e28d94e32963b6411b61435292ac4cf80.svg","flags/1x1/gr.svg":"flags/1x1/gr-0cbd171892c0568b055d3b6585d58ac13dd60dfbcfad16eda1f4f9ead11dd16f.svg","flags/4x3/gs.svg":"flags/4x3/gs-e45169a93a9e94c15f5cb765a6c863319171fb9b4dce56094411829cd688d486.svg","flags/1x1/gs.svg":"flags/1x1/gs-3efc9e1b32961f9aa9d7faa2626e596282b63d049f6717c2378b28e3f508e79a.svg","flags/4x3/gt.svg":"flags/4x3/gt-64a7345cf66facf7f323d2142aebb4172191108a78ac7493b1a6077b78ac8ec5.svg","flags/1x1/gt.svg":"flags/1x1/gt-436a2af3d95cf3cb13ded897f319cfd6e2c087d678ad0e971c198b0d2c029911.svg","flags/4x3/gu.svg":"flags/4x3/gu-f560822ee237e5277829e63613a615a2ee3d8cc6196dffffe0f0d56a49b11c53.svg","flags/1x1/gu.svg":"flags/1x1/gu-a71c9d290c66c1a0929b05436dc6a8229b1147d7cc62336e04c9adf697030450.svg","flags/4x3/gw.svg":"flags/4x3/gw-0dc9ec17735ed605b68672947ce55c49a4ec1551491ccd121f482c1875cdf219.svg","flags/1x1/gw.svg":"flags/1x1/gw-7868c305e4a64b0d8ebfd3f7cb8c881841d71a7e0c3ead2683fe503c80de0674.svg","flags/4x3/gy.svg":"flags/4x3/gy-c9126e544c62508abfb898f0af0bd79c46f4c767c9ed6f928418a24b0f246d85.svg","flags/1x1/gy.svg":"flags/1x1/gy-0e3b849ce460f8ab1ec7cf66a25be1ba91e89b72d8b0aa679a0553464f37a972.svg","flags/4x3/hk.svg":"flags/4x3/hk-cece9126ccbf9151feadfed75791ebf32d4a16beab12f182404519d0cc24eec7.svg","flags/1x1/hk.svg":"flags/1x1/hk-9fad00e06f9034877149394914baa2bc3292223b0e32df2b1f9399d4de6e167d.svg","flags/4x3/hm.svg":"flags/4x3/hm-4b4923b81da24d62ebf31a9bc0addf76beef84593374b1cbd03ba19f3b12e3e9.svg","flags/1x1/hm.svg":"flags/1x1/hm-776c822113a22e83581234d05f40bfc0ed38b60648d87f513f3da3fff96ffb61.svg","flags/4x3/hn.svg":"flags/4x3/hn-855c830786283862a5f399e0d69dffe52b6223b91b32e31b55d55c82f2fa32c9.svg","flags/1x1/hn.svg":"flags/1x1/hn-64c38bac9403417c4e276bf5536d284fc5410fc04b80acd39a961d298f430dbd.svg","flags/4x3/hr.svg":"flags/4x3/hr-c8cad861f7398a22b9d27ea682d2778df0dde8e146d30142b5294daf988854af.svg","flags/1x1/hr.svg":"flags/1x1/hr-60c093df6760e4cc6abe26c37a52be3b51458f02712f18e11f08b07dc623b489.svg","flags/4x3/ht.svg":"flags/4x3/ht-fe81da06228fa36e7f211bec0d9f0c020f5b9c7f81534b4cb2251848aa276b16.svg","flags/1x1/ht.svg":"flags/1x1/ht-dd0197c078859c5a66ff3a51d3a3f92809768e36bfabdec0fc0ab60d068afcd9.svg","flags/4x3/hu.svg":"flags/4x3/hu-9aa998e636687aede491e307f3d068dbe58f2d90bfdfaec0e7ad03baa5b36344.svg","flags/1x1/hu.svg":"flags/1x1/hu-06858d0fbd4320496e849010e35c8fe82eb618188cf6ec329aef93f5e7af1c23.svg","flags/4x3/id.svg":"flags/4x3/id-775dbfedd6533afdf5bd017ccc1ad4f8f4238cbe87393d9c837a669196f17293.svg","flags/1x1/id.svg":"flags/1x1/id-3920ce662a7ea937b2c11707d8e1f53db52611dd004edf753b0389ed490d9d29.svg","flags/4x3/ie.svg":"flags/4x3/ie-6368a1c92440fcf80d3c35607543bcaa2d4662d6e0bc7acf6749ddbc418a72c0.svg","flags/1x1/ie.svg":"flags/1x1/ie-1997e9de640fa764677aa8f5d52f7888bb24a029160e8f67b06dbd043b4f11b3.svg","flags/4x3/il.svg":"flags/4x3/il-d76883a2330f9a05a4a64990ba955fc1be90bb46bcb19ae548c21816e7e74178.svg","flags/1x1/il.svg":"flags/1x1/il-f5e643d0e10169a438119dc441ea3100b52a2ff569bbb3a3ad6d1131b47602d8.svg","flags/4x3/im.svg":"flags/4x3/im-bbae8aa9dd129f8446556afe4904194ad43377d882f9a705fcf1da2bdbfabccf.svg","flags/1x1/im.svg":"flags/1x1/im-767d72c2e72d732d65c9b016adad983778dfbbb2b5b52e71830f4e41297728d3.svg","flags/4x3/in.svg":"flags/4x3/in-519e33321b8b2ba70a0b7557d66c62d7efdc9723896c49f82528b107028ffe29.svg","flags/1x1/in.svg":"flags/1x1/in-27831f76dc6a218a529b6e5d0eafc4c19c999461327b7c013f59226c0601a361.svg","flags/4x3/io.svg":"flags/4x3/io-8d25a8e98f682199b413adfbcb6898c37058c9bae085e427fbab03d56e8c0de6.svg","flags/1x1/io.svg":"flags/1x1/io-627f3b0cef72fd91ff426d74a007dc32d74c9fe677cf2c8355cba84359e16fde.svg","flags/4x3/iq.svg":"flags/4x3/iq-96b24d1439184d0a4c35ca7cea65e5f20469a0e8c8438963aad016e59c399cc6.svg","flags/1x1/iq.svg":"flags/1x1/iq-af04db139f8c44cfe0c612e2c05e848ccfad88fbbfcb58e88cdb7c80db365669.svg","flags/4x3/ir.svg":"flags/4x3/ir-db2c230d355ade2b1ac235ec647bb1535e4703c639a44f9ce112473272ee1019.svg","flags/1x1/ir.svg":"flags/1x1/ir-c648cbf56fc8f324fda477ea816783c9df8a7d398f45f5f94acc1c16c8877b63.svg","flags/4x3/is.svg":"flags/4x3/is-29508693138977229758b0f322ba34e90dbcd7a8a74e8820729933d24051d9a7.svg","flags/1x1/is.svg":"flags/1x1/is-b1c5db1d4b4853b8144f1d88ababbf14fc88752340457ba3e2c94ab5d54c9c01.svg","flags/4x3/it.svg":"flags/4x3/it-d2c168050fc509adac1163b097b0ed409217560735b27802ae9259587c146562.svg","flags/1x1/it.svg":"flags/1x1/it-592d34fb666430fa00f98d333623d5efa3c8e0e65ac4eee06bbc4c1de7ce4bea.svg","flags/4x3/je.svg":"flags/4x3/je-b363a4e3a21630f10791c2ebeb7f918320816ef87c155d4fd29ce37982f4df35.svg","flags/1x1/je.svg":"flags/1x1/je-6d43f74e30e099bc056da925ec34c0200708f0a6e90da34db1e59d54ce10cfd9.svg","flags/4x3/jm.svg":"flags/4x3/jm-3d133fbc2564f29e036855e8be224d1579fe66fe49e0f5a2ba0bdcf3cb272823.svg","flags/1x1/jm.svg":"flags/1x1/jm-1aea8ea5d8cbc717fa3ef331d8caa9a1421c88a7bd076e40f8276a5b6f8d0467.svg","flags/4x3/jo.svg":"flags/4x3/jo-eee432339f8ea6750987e1121187eb4b53ec537dd7ccb240c018de63f7a92db6.svg","flags/1x1/jo.svg":"flags/1x1/jo-7969b2083c535c85b7e714b755459a6606940e0b5ddb1b71e24daf0a180d14aa.svg","flags/4x3/jp.svg":"flags/4x3/jp-2eadcfc67ba8cd50c1da86e08e6778e0102c3072865dab8c312cc88006da0abe.svg","flags/1x1/jp.svg":"flags/1x1/jp-551281a75e6c6fd64eb65b39f56102b52c182f6c38ee045c9422f6592f0f65c5.svg","flags/4x3/ke.svg":"flags/4x3/ke-45790bc3ec1ed8ed0124777a7c9e09163353b5af4ff70ae6604a61b53712df4b.svg","flags/1x1/ke.svg":"flags/1x1/ke-2cca24ecf024b801543c0572efc9969ffdaf25cec313e2149c64961839bc301b.svg","flags/4x3/kg.svg":"flags/4x3/kg-3879f8931d74cc9c5927261f4095b2bb786f3d62c803b2a96ec550a23fae9f49.svg","flags/1x1/kg.svg":"flags/1x1/kg-74318932808f85b72df308358f2f2699ab0cb7ab4f7ad3c84c4be4024f0fb140.svg","flags/4x3/kh.svg":"flags/4x3/kh-7409fab4ba4e676db7b5c61020b97893b1735fe0b8e39e9b4f96108400be704e.svg","flags/1x1/kh.svg":"flags/1x1/kh-2603f6a61b400cb12b87397eeba60ae1707511467d5e0c430c05809bf89e5042.svg","flags/4x3/ki.svg":"flags/4x3/ki-617c1b52f3d9aee99d094edbd1775cae77aade266a1318eb4671b2bb1620ded5.svg","flags/1x1/ki.svg":"flags/1x1/ki-74615266b440a24f09abdeae3853d7e1111f0eba77df71ccd176d83fbd1fd9ad.svg","flags/4x3/km.svg":"flags/4x3/km-0c9bcbf7e677a541fc8dff6f848c9d92b6982ac2934ae75faa56a2b846bb5698.svg","flags/1x1/km.svg":"flags/1x1/km-81b0fbe53d09194270e8ed4cbe9be8eb1ae727e77957005369ad8bdc651dd1c8.svg","flags/4x3/kn.svg":"flags/4x3/kn-0442f55f81cd3b1057c609301f0af2b503d89a895a954af8c970df997e92bd03.svg","flags/1x1/kn.svg":"flags/1x1/kn-897c34ef54bee486f0d24d2191e2400f49a19d98efb19f8c3f1a27fb0b97131a.svg","flags/4x3/kp.svg":"flags/4x3/kp-a54f7201982b29530381b71a5e2a11c1153860f22c04c0a2d91bb0d20fedf78e.svg","flags/1x1/kp.svg":"flags/1x1/kp-758eccd89ef3707808fb68d931f086e49333904f4cc67c88468f3c96fb43b7b6.svg","flags/4x3/kr.svg":"flags/4x3/kr-c0b9b2c854133410c0ad9cadbc10b1e0bacf0305519883126d55bfa3214f9d06.svg","flags/1x1/kr.svg":"flags/1x1/kr-7c0457ac5d284b28b742ea2e061a1aa2a35f63171e464b3a7eb501a48756ce7b.svg","flags/4x3/kw.svg":"flags/4x3/kw-81c3d5d25c7b840ef14783b51d18c6b7cfc61f94932c664bbc9e5879fef020eb.svg","flags/1x1/kw.svg":"flags/1x1/kw-66670211a67a4e61d4652a19d821dc5195f01a28a3a9b28b7e4c6048cd86b19c.svg","flags/4x3/ky.svg":"flags/4x3/ky-0f4ab66d951ae33f800d680aaa5704804ba9c8844d4d80e5bee2e3fa0e100af3.svg","flags/1x1/ky.svg":"flags/1x1/ky-fb5f57bb58b74d23377bad9954a75ab88d1587af68546ce137a6ae7a88a7701e.svg","flags/4x3/kz.svg":"flags/4x3/kz-39edc952c598c71be2c9510944a8faf708d8e4b367b5ad78a688d1cd37f522eb.svg","flags/1x1/kz.svg":"flags/1x1/kz-924c04dc19267b049f35213af0e2b0c540933c06389433cb4aacd8dda33b286c.svg","flags/4x3/la.svg":"flags/4x3/la-e3a36a3bd0003442c3a21d3a192995fa6fb3b3c08a2daadc8f38f62736b5b1e3.svg","flags/1x1/la.svg":"flags/1x1/la-c9d4223a897e5e2938a4892bbc593d3828093b9439fc3f6de21520e4013ddbc5.svg","flags/4x3/lb.svg":"flags/4x3/lb-508c2a5a9b50d604895675b9f1c1e5914c394a7f468f5d823eb0476acaacbc7f.svg","flags/1x1/lb.svg":"flags/1x1/lb-10c9ba8ea7aa3189f16a7273c837982a887fc4ddfc9d514d8f5a660d72356f7f.svg","flags/4x3/lc.svg":"flags/4x3/lc-04ccd92fb1578654181febaea30ebd6b6620f56115730b2a2d673c712307bf5c.svg","flags/1x1/lc.svg":"flags/1x1/lc-4ffb53afb8bd296d526ac26fd8007afc74855e92833a893d3c934a5d12eb152a.svg","flags/4x3/li.svg":"flags/4x3/li-3058dc4aeaf2bd2da8cb910892137d732b56e5e9d342e565a4059de1a8e40e40.svg","flags/1x1/li.svg":"flags/1x1/li-0780a4f218b9ee466e33d14274b8a01575a86b3787b347e3269a3b301c220d5f.svg","flags/4x3/lk.svg":"flags/4x3/lk-a13d6ab1da51be3b1d2c5b80f4d866c923d42b017e197469e1bfc0dd021c4bfe.svg","flags/1x1/lk.svg":"flags/1x1/lk-99759363f0df6b868fd1398bf05666c680bafe1eeec8b859b64d450930213e02.svg","flags/4x3/lr.svg":"flags/4x3/lr-b06a1d70899826b305ce387fa31e1fa0bdb3bcb17c1392f15f995ce1dba723cf.svg","flags/1x1/lr.svg":"flags/1x1/lr-820a9d023e5b1e68ed640bfaba8f84ad4379c42a6c5c982cb76b0390dd2bcbdd.svg","flags/4x3/ls.svg":"flags/4x3/ls-d02bcefe7c298c153665f35c33eedb08e2e2b345350e4bf1714a87abf86b2d0e.svg","flags/1x1/ls.svg":"flags/1x1/ls-85c731c313a46db12bdb27fe229e9f7d052b447c624663b73ffa1dbab97f03fb.svg","flags/4x3/lt.svg":"flags/4x3/lt-c08eb18a15d2003cb544432b11c5081d3d5741370669b4df306d1c6bce14cb51.svg","flags/1x1/lt.svg":"flags/1x1/lt-c1bd7e3d289ac9b0df06d47237780eaf4d30f01281ed50a7df9a22bc3a2489c5.svg","flags/4x3/lu.svg":"flags/4x3/lu-99e7b6adb3a9e0f867b17eb3b1f0f33db92fd27cfd7b651f62453f359bace22f.svg","flags/1x1/lu.svg":"flags/1x1/lu-ab544445f16afa450549288ac86c2cc9a458a9d7747b3a89d5ecef7db9c83ce7.svg","flags/4x3/lv.svg":"flags/4x3/lv-f8844d50b89f0369f73d580d3676553e7e55dd8ab2460e592a29a530d9bed886.svg","flags/1x1/lv.svg":"flags/1x1/lv-baeced49dd4249e36a25b0f23a5c601a69e9dee3137627cd4450194b85a99dd4.svg","flags/4x3/ly.svg":"flags/4x3/ly-03209121483967f9d74849fb9261de23e9ff2e02c4e40b29f1cda0631b8a5fae.svg","flags/1x1/ly.svg":"flags/1x1/ly-1e6e070aaa4bfc97a5a446a39bf746ab3c4c81d9f62c975cab164e16de3a3ffe.svg","flags/4x3/ma.svg":"flags/4x3/ma-9a25cc7c2868fa45b251dd1b99a0be3b583df69732146142020fe9c6c0c95b63.svg","flags/1x1/ma.svg":"flags/1x1/ma-4f18b9c355b8b8bf0db69badb235a183dbd558deb6439bf03b4f18e56837a7f3.svg","flags/4x3/mc.svg":"flags/4x3/mc-b0c50599ea2a550680a6a867579930e0b47d3e05193a7294a26b7849a7ad35e2.svg","flags/1x1/mc.svg":"flags/1x1/mc-8f1fe6210338399d8791d91f39234b1a09acf2aa5e0387696048dc7068534a28.svg","flags/4x3/md.svg":"flags/4x3/md-8849eef7bdf916e962f7bb31af87c8d47aef33f9f4a2017b2ce55c4166e79643.svg","flags/1x1/md.svg":"flags/1x1/md-43f1bb4157545abe6e79215459efb548d913bbe7922078cd40cb722a4e19d9b4.svg","flags/4x3/me.svg":"flags/4x3/me-983d452d43cfb8d628bfc5c0cf4991c2ba3cf0e39e70aa5353cfd4e9ec3da62d.svg","flags/1x1/me.svg":"flags/1x1/me-104d6a96038ef06d3d8b89c9221996f3649b5b821139b11b2e07695b0f6fda2f.svg","flags/4x3/mf.svg":"flags/4x3/mf-31fb851bfcc2340d2fa43e86a099cc7becfc8e7f996a4d2ca56bd050e6537086.svg","flags/1x1/mf.svg":"flags/1x1/mf-fe20ce9bf911631d6e79edf21c8cff0716f2dc1ffded39515735444d9a66fa55.svg","flags/4x3/mg.svg":"flags/4x3/mg-5effe963e29f804a26f95dbbc9519add454a0fd9eb918ddfeb55e1e99a1a2701.svg","flags/1x1/mg.svg":"flags/1x1/mg-9e546cfb78810d9b25c814a84aadd6907880b8e0cdd2e4e30738b519e7c1ac91.svg","flags/4x3/mh.svg":"flags/4x3/mh-d8cfd123007dbb99aa700c335957926a6d5e877ab49680c79629a32716d7a782.svg","flags/1x1/mh.svg":"flags/1x1/mh-3fe03d4d063a4729fc8b68fd5e9d7d2eef6e65c4e82954c83f76b138cea2eb45.svg","flags/4x3/mk.svg":"flags/4x3/mk-6e8071d15f2ff125d30bf89d000dcb47db9545cf9b7ff04f1474650ec2f4d25c.svg","flags/1x1/mk.svg":"flags/1x1/mk-fdc9212f9f311cbface56b6587468a2e845111b697edc11b7edda9fcf100c1d5.svg","flags/4x3/ml.svg":"flags/4x3/ml-a730102e0c6f6362de9c10ef8da6cf7b123465d01a297e7a89808b01fa4771cd.svg","flags/1x1/ml.svg":"flags/1x1/ml-a661355da206b0cb7ac4c84b6cdf7e411fbca8fcb271ae999fa60d5c67578192.svg","flags/4x3/mm.svg":"flags/4x3/mm-6d0d207d662477110f2b863488088818d8400386358dcbc669a2d8c54d1bae16.svg","flags/1x1/mm.svg":"flags/1x1/mm-de7d46b6543343af61ba997045cb41a707bd0db1e7a5879971ca8fddcbdf9e99.svg","flags/4x3/mn.svg":"flags/4x3/mn-656eb51e88bfce82401e4080eb791ddf16d571cbba102cdd4316c5de4711ac65.svg","flags/1x1/mn.svg":"flags/1x1/mn-ad22cb2c195a7d8ca8e4174db011d5f58238ee25039b5b2da2649d8ca8b00123.svg","flags/4x3/mo.svg":"flags/4x3/mo-37a1088aa687af13951bc93886e3e51cb246eccfde1b56528f189327ea291792.svg","flags/1x1/mo.svg":"flags/1x1/mo-b463a1c37b69131d662e3fb2ae937583458824a09bcf68fc7ed2d7fd729138d1.svg","flags/4x3/mp.svg":"flags/4x3/mp-ecd12cadc358fdf293e856c0a3ffc09409123cabd3c7201225b2d21b59551e14.svg","flags/1x1/mp.svg":"flags/1x1/mp-d1f4ba10c1409e713253f1fbb107eeccbd4ec1a8f9036663f1ac1991aee53835.svg","flags/4x3/mq.svg":"flags/4x3/mq-b4e1b08a93c1364c79e6d61f95b16fca5b884da6e77835bc0e0adfff8ecc2d7f.svg","flags/1x1/mq.svg":"flags/1x1/mq-19cb6f7cb7354c3fd40e987c93a2d76329d34b2ed3873c3f25fe56802f251ea8.svg","flags/4x3/mr.svg":"flags/4x3/mr-9f64af3ed5c6d8d1f68b5cb09fd1aa9d28c3c95107e063f64a0ef95f0cb9429a.svg","flags/1x1/mr.svg":"flags/1x1/mr-0e79b7bcc669bb871d94021db2b78b162b9867c7eaf934d8f7a3025fd5903576.svg","flags/4x3/ms.svg":"flags/4x3/ms-32620dd70353777b2ee62951556976f398cd38ae359b5a8c97311a1dc61eb8bc.svg","flags/1x1/ms.svg":"flags/1x1/ms-4104d4f36cb5cf1c6de78e52e90bc3c5b8bfa262617b16a737673feb8c30a00c.svg","flags/4x3/mt.svg":"flags/4x3/mt-0c9819aa69b34b84c1ee43620922737122eb38f107be9864a0690ac66ef8aa64.svg","flags/1x1/mt.svg":"flags/1x1/mt-3c3fe71f2a2bf0d961fd145ad7e48ca1e9d3a05cce514354714ba4568503d106.svg","flags/4x3/mu.svg":"flags/4x3/mu-c78c23f1499756b9db762ae434ca354d1481447fa94c66bc10aca9443b399059.svg","flags/1x1/mu.svg":"flags/1x1/mu-91ebc79d0fa306127ea8b7a33f77d5b28f35c516ea91ff0468c7344dc838db69.svg","flags/4x3/mv.svg":"flags/4x3/mv-a17c947e17adae6aacef01a3e131c4150aa094911b53fbaead41783683e008eb.svg","flags/1x1/mv.svg":"flags/1x1/mv-d138e94d9d2ed093ef1425c1164493b780202f9a7f7937241a7b081b79ff8b01.svg","flags/4x3/mw.svg":"flags/4x3/mw-21f116afdf71df80e3c59084c6ba640814fa5389430328ff55c9403b5c239632.svg","flags/1x1/mw.svg":"flags/1x1/mw-5c2228d3f1cf1f9cf8cb158e813202981828c11e8caf117836fc57fa6bc1c788.svg","flags/4x3/mx.svg":"flags/4x3/mx-a235f9b16921590b7e78caa6f76339361356946eaf0046badd10732b4647c0b6.svg","flags/1x1/mx.svg":"flags/1x1/mx-cdab01ebcdccc020ca16e1355ef1fd18ca0043b501f399ca8edc48adfa8c7292.svg","flags/4x3/my.svg":"flags/4x3/my-0ed63574cf5f20c0663ab8cd1f700e150fb641fd0b93602ba013abbfaae5ee59.svg","flags/1x1/my.svg":"flags/1x1/my-5e8d31ef06ffc8af33a5616d760592ecd022c52afc8ba33c721f1e4989da0628.svg","flags/4x3/mz.svg":"flags/4x3/mz-752e2293917b1d2ece3f097104caeadf6a679054a779e9d3be8e49dc324bb88a.svg","flags/1x1/mz.svg":"flags/1x1/mz-300cba975ad43c962ceca0d266ded1fe3d21d6b4d701d657fb42b27268ea2964.svg","flags/4x3/na.svg":"flags/4x3/na-a0655a2e70751278e6a60d31e818f672864a6e68e8b3d3361b2fbb70fa9bfef8.svg","flags/1x1/na.svg":"flags/1x1/na-1ce089a189db5be15eb05df8155f9bd017b61fc1a497e5b3021ff2ca664e122d.svg","flags/4x3/nc.svg":"flags/4x3/nc-0c7171d91c44414ed69808611db588f1283ee7e34ea8a74a9a5101ba4b1cb305.svg","flags/1x1/nc.svg":"flags/1x1/nc-d3a1629f06dc3200af7669f2d895fce1908d2c1ca02d71e530bdfa6646a9516c.svg","flags/4x3/ne.svg":"flags/4x3/ne-2b61d30a6cb4554535538e3b753926853e8c629a494a347286b9731c803548e4.svg","flags/1x1/ne.svg":"flags/1x1/ne-9c5f798ccd7d3dd3771ae628b4a39dfb2a4578fefd2e006f3ce89c3e494d0cb1.svg","flags/4x3/nf.svg":"flags/4x3/nf-4e615baa83a8b4db3e39fe1d251ab913943d64e0cd320f251d619ab54e7512d3.svg","flags/1x1/nf.svg":"flags/1x1/nf-45403247c90050484813acf23c50f543779528e346317274373c3c24fd830103.svg","flags/4x3/ng.svg":"flags/4x3/ng-d52fd188be973f31dd34e5a0b3fed0de68fe736c8a41c6028d9c248c038c8641.svg","flags/1x1/ng.svg":"flags/1x1/ng-f22edcc5867554d69ecbe15add0fbbb1389631f3ced07a4f820065c7770c65f5.svg","flags/4x3/ni.svg":"flags/4x3/ni-2fbb883e46fbe3b2ecfed9dac004ceb546f25c77a84a5966eea224674aebc610.svg","flags/1x1/ni.svg":"flags/1x1/ni-214aed148b615c4846f842b47f99cf178ac62a96cf18c5dd6b23467184b56680.svg","flags/4x3/nl.svg":"flags/4x3/nl-4f0ecea529dd4c0099dd41a7801fa5ac44aa04cd872ca31e11efd58b5a813774.svg","flags/1x1/nl.svg":"flags/1x1/nl-9c8f60e638879d642487818975e58c61cd3102f0e68c360708243c076436ff68.svg","flags/4x3/no.svg":"flags/4x3/no-270f7ee9d1d2efa6abf16f693faba8586adae842d79d8aad9e3f37e96c27cbce.svg","flags/1x1/no.svg":"flags/1x1/no-7d377325e8c5ec4de0376e9f4c13463f183af637e6c443716f22020c7a313979.svg","flags/4x3/np.svg":"flags/4x3/np-69637ddb3a173c4522a71598278aa32462e1762e34dd99c9dc99a515433a6cf8.svg","flags/1x1/np.svg":"flags/1x1/np-44ead118cce3a1fcbb720cc8d6eab6ecb6b62292315f61ae5963a40262ee11d2.svg","flags/4x3/nr.svg":"flags/4x3/nr-0bd3c0ba7bbac4bd5985b838096eeebd67711d39065619ef092fa4bb55b22a6d.svg","flags/1x1/nr.svg":"flags/1x1/nr-63b9c44e5dd66a59895f52707dc24db5bd1eab6e535298d24e414c0f2dafcb3c.svg","flags/4x3/nu.svg":"flags/4x3/nu-259989e1eea0cbf6b41a33176a4c9c1eaa2e7ae6571ad80a324c6309bd5aa5fc.svg","flags/1x1/nu.svg":"flags/1x1/nu-1cb535708f64ed8b386a245e571e677e935009af92f2b214760a2832c1ee1b53.svg","flags/4x3/nz.svg":"flags/4x3/nz-90ceca2a683fbec395a91b77b0880cea99c3b2cbdb24caa5474925cbdcc3675e.svg","flags/1x1/nz.svg":"flags/1x1/nz-b0d78f165a72edd46599222a2ea5f6a91a8252975cb03e33c4ca08e389859aac.svg","flags/4x3/om.svg":"flags/4x3/om-aadcca7bc7ad318400097b84849dd64c4744306cd9b4f152fba34f2e84116965.svg","flags/1x1/om.svg":"flags/1x1/om-705e2bd2b2fc7d13c152aa06bfb9e6ee4ad8b299f8c06ca16adad0b18b2b18ed.svg","flags/4x3/pa.svg":"flags/4x3/pa-027e679bd65dcaa2c53145a14669c1e674a467a889ef702cbe2a260f7ca8ad38.svg","flags/1x1/pa.svg":"flags/1x1/pa-edeb4faeadaa286de7fdc667e25d38ad0cdbccaec5023182fed6a3c74e8b09eb.svg","flags/4x3/pe.svg":"flags/4x3/pe-7ec59842737c90d6ff543f1831fd69b51e1e7ee1b068c3ac6259cbf2c214d611.svg","flags/1x1/pe.svg":"flags/1x1/pe-97d1b8ed1d4ed5e5f0348a731ca4a3a4b9abc7d440447dc87a521f229f375ed3.svg","flags/4x3/pf.svg":"flags/4x3/pf-27955c73c5be4043c5b7ddf64c8f46d11c6648e3b1fc0efe028b8afea21a40e1.svg","flags/1x1/pf.svg":"flags/1x1/pf-83e3e1d36fba45e015c62f938e6d182029edc05ebfdc50bcb33860f36f96d73a.svg","flags/4x3/pg.svg":"flags/4x3/pg-c2fdd2551f9044c461eccfae2d7ba0a347a99143f6002b71a429942af0217897.svg","flags/1x1/pg.svg":"flags/1x1/pg-cf60257fa85f9270b1e9980e703435186110167f76c153bc460c10ee8b2d4b09.svg","flags/4x3/ph.svg":"flags/4x3/ph-bf3394850a6cec6a535420eabce263e7f8193413e4af1fb317c76da025388c1b.svg","flags/1x1/ph.svg":"flags/1x1/ph-006c3218effe4269252cb9638de82ea339eb2894951705c630533ceffa842169.svg","flags/4x3/pk.svg":"flags/4x3/pk-b64f6a32e5bb598f57cfe49c4899c2021f2d153653f3d92101e6e11b2158e500.svg","flags/1x1/pk.svg":"flags/1x1/pk-d2d58def913c9081c5eeeda5f0b6895068ec13c955694e359531e23422145e60.svg","flags/4x3/pl.svg":"flags/4x3/pl-f55a710991a94c2e6c2f9f1a7a4a36ebb84b24b7c9d9df4e1ffe86d61321fa6f.svg","flags/1x1/pl.svg":"flags/1x1/pl-fafb539259385f2b99df910cff085710a9b4d9706b74e4e0f8a6ef627615c4e7.svg","flags/4x3/pm.svg":"flags/4x3/pm-8f6338d2ae3e0e42adc9754720ca21ad4979095cf6d7467a8db5a5a1c3e0b2a5.svg","flags/1x1/pm.svg":"flags/1x1/pm-63029c6198dc42c404ec39807a99528b1d198eeeea6f9a1e309548242480140b.svg","flags/4x3/pn.svg":"flags/4x3/pn-4006c11ca83011c0dd60a13ac30b27da0578b9f1368bd8c6de5aab423f6662d8.svg","flags/1x1/pn.svg":"flags/1x1/pn-6c433f7f9cb79c6d5ed7bbeade8a495e3b26ca2604f4fd3995096109684ac5dd.svg","flags/4x3/pr.svg":"flags/4x3/pr-6287e1515fa80e2d05133ed93f14ca03a1be6909a9ef6c736fd60f9c9fe73132.svg","flags/1x1/pr.svg":"flags/1x1/pr-526985b3a6d2d6de577ed0ed92d0b49ce854667e3ff630304813fd5af15527cd.svg","flags/4x3/ps.svg":"flags/4x3/ps-31f50e1fcb44b9aa6e9ce4473c3085f744e70ea0fa1fd8d85787f4e7b0c4a69b.svg","flags/1x1/ps.svg":"flags/1x1/ps-c43918bc71bef71b24dd46e8cacc53e0df53e02dcce6199d06d11a4637f08a04.svg","flags/4x3/pt.svg":"flags/4x3/pt-9aab20caed714ee47fc408f017037aea94a649b3ba4d87e2da37870ee31e4f92.svg","flags/1x1/pt.svg":"flags/1x1/pt-a309869e5018c9690a65ebdf8a2d69d61f82772068a7920f9680ed0581ae5966.svg","flags/4x3/pw.svg":"flags/4x3/pw-9262037d114d0f61571c74f9a5455809709b43e6565443ae2667981eecb5f12a.svg","flags/1x1/pw.svg":"flags/1x1/pw-a6f42019653ae26d43c6e9b7bef83fc98cff8ec5e8d0c50ad7cb0a17d5e565a6.svg","flags/4x3/py.svg":"flags/4x3/py-5bc9e9f0dee94ae3d9bd80ae6fb1aac297dc81a1c592d0a73bc3383bce73af74.svg","flags/1x1/py.svg":"flags/1x1/py-182eff300f4507fd9399fb6310d1cd3b45adadd7924ad2814003c7111ec5c0de.svg","flags/4x3/qa.svg":"flags/4x3/qa-32c93970f8e521850eddfaf2a89dfff987f0ae3b0b73a253c301b61cf547cf9e.svg","flags/1x1/qa.svg":"flags/1x1/qa-182e4d8ace2607d0c02d3c29d65eb084af71092357006bc41cd601981ec3b81c.svg","flags/4x3/re.svg":"flags/4x3/re-8b2ea1f2727c266a2b80cb12a9b7195f6b656f521552b67893b6761a07f9bc92.svg","flags/1x1/re.svg":"flags/1x1/re-07eb7d855022bc678b47b0ce5fd05da5044d6dde86ad3697d4ae55c68ff447c1.svg","flags/4x3/ro.svg":"flags/4x3/ro-4ab797571e1d9eb326486f75654a4590fd33f20444f85b77ba0997eb6138c21f.svg","flags/1x1/ro.svg":"flags/1x1/ro-ddfcbaec04d11bf7f95abebd1d3a42b2862b1af8fca9b02764a6ed0e409a1d75.svg","flags/4x3/rs.svg":"flags/4x3/rs-dd8a52473ea40e23b393b5f4a30d1edd91865aab167f0c1835ae84b15dcce585.svg","flags/1x1/rs.svg":"flags/1x1/rs-42bf40209c92e4e7169daf29fbcb7253b2804eee7a463051529327f38851f865.svg","flags/4x3/ru.svg":"flags/4x3/ru-13f4525a4caad6e31afa523d2bc4a0c1e6377c0bef1bfd872682130d3f199d1d.svg","flags/1x1/ru.svg":"flags/1x1/ru-b9792a963faf667447e0456dba5be80a3b37c197a4284d1539a3433721d9e2fe.svg","flags/4x3/rw.svg":"flags/4x3/rw-bc38bcd6e19d2941839b253af6e863b13338cde1174874f9674471026c15e422.svg","flags/1x1/rw.svg":"flags/1x1/rw-456698123775b83d2b0fa1b9fe073f9ccdba0b6bf39a703b8979dcce158eb32c.svg","flags/4x3/sa.svg":"flags/4x3/sa-2b2fd6abb48415d5407c576c24a24fbd80af5877ef06cf2d026452f6c67f5f4d.svg","flags/1x1/sa.svg":"flags/1x1/sa-d9ebc73e7957f86604164dd5054fb32601ad14d7dfd4bfe73da5bdd10bb2f8ae.svg","flags/4x3/sb.svg":"flags/4x3/sb-37761927039d0a37ba0995c59fd31bbe36c8a0ca161e5b72b8131e3659f8dddf.svg","flags/1x1/sb.svg":"flags/1x1/sb-bedbf8464cd82f391bfe6178c63055b650d0cf3aee60c37fa79a586f95783b79.svg","flags/4x3/sc.svg":"flags/4x3/sc-f6a2f8f37be93f07600b491b52cb58d80d74b92d8ace0af313f4ce081b0d1345.svg","flags/1x1/sc.svg":"flags/1x1/sc-5dcd01b98c34460c9624280fb5047811fbae7d976620cd0a70ad4263a9085b60.svg","flags/4x3/sd.svg":"flags/4x3/sd-cc9cf97e8a37622b9e1bad28811d46c4471595afa448dc055e0e3aae7687fe4b.svg","flags/1x1/sd.svg":"flags/1x1/sd-1f5d13f9780085acbaad13d959b1918c796ba7b0450954b15d145e87cebe045c.svg","flags/4x3/se.svg":"flags/4x3/se-84b06bcd5bd90ea8dd6d1c3c8d2799a843c47b0256ce098aef75414964618286.svg","flags/1x1/se.svg":"flags/1x1/se-39f128686652cf914f8601110fcc9ac879bca204407013b93aff4ca4fb2ed9bc.svg","flags/4x3/sg.svg":"flags/4x3/sg-a82acd90077e76318ddb0be96999d9695b9a9f4627e8a0f341d3987a62747dcc.svg","flags/1x1/sg.svg":"flags/1x1/sg-c22e093634568aae249bf35f9ddcaa6796b5f27d76c39ff5336abf7f1b8a47d4.svg","flags/4x3/sh.svg":"flags/4x3/sh-57470d9a75955f0fac605a94e853bab524c7461a4c025e809fb09db762ebe46f.svg","flags/1x1/sh.svg":"flags/1x1/sh-8d06a0fff61e51eb65357d138e00736545835b8649aa2694152f4cdc9f941c16.svg","flags/4x3/si.svg":"flags/4x3/si-289d6417f154323e7922df09ffc0f49ded31548c7ee8020c39cb85724ffbcea8.svg","flags/1x1/si.svg":"flags/1x1/si-ca40a5f4f38119d6f52ffd3ddb36af95951a2aa1fadcd897f5bc1641bb2e0051.svg","flags/4x3/sj.svg":"flags/4x3/sj-67d4cdd268d0c0cd93fc561b506cb5646cb508385c93ed350d11f94aa1c83833.svg","flags/1x1/sj.svg":"flags/1x1/sj-f7c489607033138039612d6abe7f4b0b4b6dada5cac75d78204f404a0d292b1c.svg","flags/4x3/sk.svg":"flags/4x3/sk-a0bdbb7f5d6998ffe9fcbc80bbdf0e6cff3629740d2ce1b8d61025e0a8b322b5.svg","flags/1x1/sk.svg":"flags/1x1/sk-a82a813b2d81af9be1aa775f22b2c2457d11e870e072d7e23957a11d0878faed.svg","flags/4x3/sl.svg":"flags/4x3/sl-be265bed24cfe0b25778201f251e52e4e721e3d319795875913805d1aea84ebb.svg","flags/1x1/sl.svg":"flags/1x1/sl-cb8bccbaa21957f006ed4ae0144da81c999e93bd8014023b16b500fdcdc397d3.svg","flags/4x3/sm.svg":"flags/4x3/sm-d7818df3f8f2d5dbed27dc5a0a80b1e41cdcd6130eeff221da58f0321e925f27.svg","flags/1x1/sm.svg":"flags/1x1/sm-6f87660dcac925bbdb036c79a0e20d3b208215d327be4c4764ae1069d6464efd.svg","flags/4x3/sn.svg":"flags/4x3/sn-b131b17a374bcfbd00d442d282fa52f0e4e0e448cda1cdfaac25a95ff56443c0.svg","flags/1x1/sn.svg":"flags/1x1/sn-d180d3ce9846966dee6a3d9433ede7d24801dc4311636aabd470ec5b8765d772.svg","flags/4x3/so.svg":"flags/4x3/so-3b5b77b371299478144a94b60c99524fb6b99bfedb3dcc976ab70185e07f399e.svg","flags/1x1/so.svg":"flags/1x1/so-50aa941f2d2954285ef9e5ac260cdd264a73cf2e4b0c627677f04141fff2afd3.svg","flags/4x3/sr.svg":"flags/4x3/sr-94d0f0aefcbdea8d7ba35648eda5037e99bf4126723ce36416582ea43b08d3e2.svg","flags/1x1/sr.svg":"flags/1x1/sr-3944d683068d437471725d22fd71ccbe6a63ae307ff9775690417d3bf262cf82.svg","flags/4x3/ss.svg":"flags/4x3/ss-f391e5002cbce83f97f7d1a11c284fa2e36a7d6dc734757d733656801ab17d0a.svg","flags/1x1/ss.svg":"flags/1x1/ss-853bd9f713d2f6b1fe540a82e8bf4754912da21575b3fe756b8741767f318f7a.svg","flags/4x3/st.svg":"flags/4x3/st-b52bb48a2c0800f5cb4b07bdd93c3908f77bcb6800be883ebf943bbd3d99d42c.svg","flags/1x1/st.svg":"flags/1x1/st-d8b5b1c8b9fe947086a4d277d2ac5d6b9cff188dfd37bda66c8bf5e02c5facc8.svg","flags/4x3/sv.svg":"flags/4x3/sv-6d02d63c7f04c9388e98f892cc43d8daa2110fc84242758d5627fcd247bfd09b.svg","flags/1x1/sv.svg":"flags/1x1/sv-fb4c8d7eb98396a93c5b9c37195d70e809e0d71d8b8f9316e842121f95bb82ea.svg","flags/4x3/sx.svg":"flags/4x3/sx-fb6a7b1cbc5b29eeeb39a5aec64ef7aad432c37bbe848d29955a3786b9763224.svg","flags/1x1/sx.svg":"flags/1x1/sx-a37b124212f8530b921aef7657cfb35c2895a731c7a06f333faee4c93f32806a.svg","flags/4x3/sy.svg":"flags/4x3/sy-e35f8d88c864ed4f38edb2f9f96d5bd69f6df078b50515b8c5467bf6b1689f50.svg","flags/1x1/sy.svg":"flags/1x1/sy-5d537bd5b42b58f6e8a7e33fbe5942a16126abb639edf9cb58b88938c57ebaa9.svg","flags/4x3/sz.svg":"flags/4x3/sz-c65ae592e943217787848364bdb4c57335869f4626ce705adabdc2620669c1c6.svg","flags/1x1/sz.svg":"flags/1x1/sz-dd3d1c65bdf09317553f205e588e3dc7336acec1cb9315bfbe0f5bd8ca5bba3f.svg","flags/4x3/tc.svg":"flags/4x3/tc-594b6cc87040836c6d6777afb5833d565d3e5e75f404350a51443ec4588a1ccb.svg","flags/1x1/tc.svg":"flags/1x1/tc-34a37006252eea340488220585c31d047b57e3e7934c77180d930972aaceadc3.svg","flags/4x3/td.svg":"flags/4x3/td-b67a1978e3badb895ff640c80bb6c0e33eac354220c08cf3fc93d62bf5d685a3.svg","flags/1x1/td.svg":"flags/1x1/td-556b3a7991c17010cb7e1ff23c4edcc2dcdb8c406a128d407fd165ea8a19d311.svg","flags/4x3/tf.svg":"flags/4x3/tf-35cd83351521f3022a43e01f0c40f34663a66ac1e92045979f31d3fd65c16d02.svg","flags/1x1/tf.svg":"flags/1x1/tf-485e71f61ff577735dbc4ba1025515c22a83c48ee7f3a2ed49804766c35f6ea5.svg","flags/4x3/tg.svg":"flags/4x3/tg-24b25f4c2213fe35e5f5586d7ab23abf0c25ad2049708cd52ba72e1ec7b754ff.svg","flags/1x1/tg.svg":"flags/1x1/tg-05f3d98392a5ec3e4aecf8f629d3d03f05ac55abb7d9d84187d599acfe271374.svg","flags/4x3/th.svg":"flags/4x3/th-cc936bacd84dddd15454ef06bc64e357f83854af34692fc37363272d61f637d4.svg","flags/1x1/th.svg":"flags/1x1/th-de82cbd770db2be53a8e3d59d86e2b748a5d3f96eb8584f7b9364cefbd06a172.svg","flags/4x3/tj.svg":"flags/4x3/tj-b90bf3e2dd63265d55b67962b160df65f021c42b6ea304e2943c10b9e2a8749d.svg","flags/1x1/tj.svg":"flags/1x1/tj-5f6571e74b1f8720f9ecc2d3aa2098ca45d2e7ad6602b2a57c206384719b9f36.svg","flags/4x3/tk.svg":"flags/4x3/tk-602520b29b909c96baea17a38eb654d6c6fbc7088f46a0cb8d8fe34ff92e3cb8.svg","flags/1x1/tk.svg":"flags/1x1/tk-fe1dc8aaa0643a45a74ecec8aec09f0fe2207d104bb3c28c0b84405f1275aeba.svg","flags/4x3/tl.svg":"flags/4x3/tl-ebdb862aa5ae5de1a72242571deaa70bfb222f488a93b70e304f2075b474d54b.svg","flags/1x1/tl.svg":"flags/1x1/tl-485f02183bdb192ba3ce6e5f076e184112739f883ae0a8fde33c454377b848d6.svg","flags/4x3/tm.svg":"flags/4x3/tm-5ddb4128bf0becd7c60413d5418027f5f01ca4bc72561d54b94febfee7a5a24b.svg","flags/1x1/tm.svg":"flags/1x1/tm-3521ad569a4095aa8d4166d5d9094fccfdbb3ea411207ad685b6dd5814ef3392.svg","flags/4x3/tn.svg":"flags/4x3/tn-ca27eb50d88b11d20b5b09e2bbecb7753267222489920c526608e5d2acd22d79.svg","flags/1x1/tn.svg":"flags/1x1/tn-222c6cd4742c558f48ebcacb47ea334057642fffa3456a1c75e0fad9e728d09b.svg","flags/4x3/to.svg":"flags/4x3/to-c9c509fc24f591fbe52bbf732c44291384c787796e1fc9c703a973587c3f8ad1.svg","flags/1x1/to.svg":"flags/1x1/to-cf26dfb44b56b915b2f11896355cb778b938ed54423311d69d7cda9626887dda.svg","flags/4x3/tr.svg":"flags/4x3/tr-c40f697070cf8d8358785b9203d1c8f438976e3cd644a87d9ee16fa9960deaa4.svg","flags/1x1/tr.svg":"flags/1x1/tr-627dcf91a1e5153c045e33a3459b5d56002530fddd3fc53927f4d0fb7ea004a5.svg","flags/4x3/tt.svg":"flags/4x3/tt-04786ffedbde2c96a30ad1cbf4db000848f14bd700324651fc88364e5f3c2fd0.svg","flags/1x1/tt.svg":"flags/1x1/tt-6a3c73bfa7782366d95e673d847ef8f84c0475b364d359def1efd264297bac30.svg","flags/4x3/tv.svg":"flags/4x3/tv-20b56e7c0a2fbaa2a0b7b1bd87afc6368440f175fb3a0589de5e34e99d163fd7.svg","flags/1x1/tv.svg":"flags/1x1/tv-8bce1d7bde2e20dcc473ed3a33c66e4bedcf1acf2d2fff6d54353a480b8cafbc.svg","flags/4x3/tw.svg":"flags/4x3/tw-36070ac0a15ab1f4811478da62e7678756a9aa266b141ed0549aba1c0e04333a.svg","flags/1x1/tw.svg":"flags/1x1/tw-fd7a0db2f3808842ca99176f097356fe9e6f3c120d6aa9e8c4a9c2dd4c3943ba.svg","flags/4x3/tz.svg":"flags/4x3/tz-51ad7d69f059075df61b9226468af0d78642af4ad34a7540f64c5bea82e803d7.svg","flags/1x1/tz.svg":"flags/1x1/tz-0703f29a7ae02a9a1753cb1726dd2934d75ed3a12e8d63faa9fa866e1fe61440.svg","flags/4x3/ua.svg":"flags/4x3/ua-7f7db03c3b492aaacd11b0abac70d543a7c0ec5265a36d529bbb80a7c432d81a.svg","flags/1x1/ua.svg":"flags/1x1/ua-25192fa80f120edb1dd1c4757fd7b79ef38f5e1729238f4135003e6a1501bf28.svg","flags/4x3/ug.svg":"flags/4x3/ug-7635df53eafdf411be0809df835bfbcffd61badd6c4df3db0909c8b3188015a0.svg","flags/1x1/ug.svg":"flags/1x1/ug-537f34f64e723fbe7cb7902ea0e61303f1ada79214197efc39ebe2c52ce24186.svg","flags/4x3/um.svg":"flags/4x3/um-a0ae80e34bbf94677dd6052ea87cc0090aba747dab5440e5ca6e231f7f07c96d.svg","flags/1x1/um.svg":"flags/1x1/um-3f1bc09babe7fdcf32518bb49d1aac3a66d0204f955eacca291c58d4f4ef895a.svg","flags/4x3/us.svg":"flags/4x3/us-aefd8f7e57d11f7b0416d01d9c665ab3848b10af849f35a4d772d58d24d83329.svg","flags/1x1/us.svg":"flags/1x1/us-87af45be9346e8c820312976abe332ee11f8931e29fa361328d28660a711b1e2.svg","flags/4x3/uy.svg":"flags/4x3/uy-9f636c8283abf56cc930746fd427c1d1644dcf8736c537629df13f760da96ebc.svg","flags/1x1/uy.svg":"flags/1x1/uy-e216b762a93ec55bf9b4ae3d35b7febe0b192a12246fd66c45139ce77fb2095e.svg","flags/4x3/uz.svg":"flags/4x3/uz-697d596705372323beddccb3626d1ce405b36249315c6b006ff1529e24909ceb.svg","flags/1x1/uz.svg":"flags/1x1/uz-aa34cbe4f6f0e4b5d890975578d28cc9b1e88ebd503d3bdca693748eb29b3353.svg","flags/4x3/va.svg":"flags/4x3/va-d24d3c5bee108c396997c3d5b2bd2273433752d8c222eb531650e51551a4afd0.svg","flags/1x1/va.svg":"flags/1x1/va-01160c1bffda12f0b94554ba0c50162a88da807943617334bd4c57a030985e95.svg","flags/4x3/vc.svg":"flags/4x3/vc-ddf979bee2889414e5a05ac55f39a9c93f34e0aff0d35f007605049a2d8b5afb.svg","flags/1x1/vc.svg":"flags/1x1/vc-ac776e16dec19ff2e2d9238f541dae5d977282b451a83ab3d4122efed2392be9.svg","flags/4x3/ve.svg":"flags/4x3/ve-e23abd006cc75a8c4f9ec1cb122b46f9b52e26c5606532d2c868277d4ccd523b.svg","flags/1x1/ve.svg":"flags/1x1/ve-1480713f28719e0a83da2c5f1333407dbfa5bcc0de8c9ba718fcf47273ee95ef.svg","flags/4x3/vg.svg":"flags/4x3/vg-7f8f24a4d6995e4dd39e3d9098dad5e14649821fa12ffc200edf0a586285ee15.svg","flags/1x1/vg.svg":"flags/1x1/vg-b464b6a78e46c29df9e4bdadc2646208f11c59168706456075f970552a24efa8.svg","flags/4x3/vi.svg":"flags/4x3/vi-58311325a293b046044976d899f288ce0fbe9bfd705a23947a9b38d7991983d7.svg","flags/1x1/vi.svg":"flags/1x1/vi-1c132d2cff66cdbdb7b6acf504bb0cd9d7579595d80c3fa6604ff24ca7a0184d.svg","flags/4x3/vn.svg":"flags/4x3/vn-a918d3c9cdc368b1d2ff9614d58cbcd1d43b725889b0ba18f5d4e693071e389a.svg","flags/1x1/vn.svg":"flags/1x1/vn-895e428ae3d98c99dbb02088cf8ef040bfb031df6f16c3c8fc3678505d869791.svg","flags/4x3/vu.svg":"flags/4x3/vu-2c286c778a7bed03cb603ab24b68dc91868f4f054cf4f851bdd17aa16731571c.svg","flags/1x1/vu.svg":"flags/1x1/vu-51ef23121e2641ebeeac50d31c4e52b7d00d3ab1bc9fc0ad95ea86fd3631975a.svg","flags/4x3/wf.svg":"flags/4x3/wf-f7e9ac5edac196ac32d7bafa04b5c0d924b89e9d7e4f3535a6a26c6c1523639c.svg","flags/1x1/wf.svg":"flags/1x1/wf-95a920a79aa32d92f8a362321aae4230e17025ac04d976593f4423d0c37c1aee.svg","flags/4x3/ws.svg":"flags/4x3/ws-efc6505a802a3fa2018bc102fc2e11db8c738464c619381b6edc32d0a89341a3.svg","flags/1x1/ws.svg":"flags/1x1/ws-e3afb81c037c814620027bf61ac5e266683cab7ba5796ecf10b64c110cfcb932.svg","flags/4x3/ye.svg":"flags/4x3/ye-fd88856e70d66b01b4f0f608936a61cf3b1d9dad40a2932fc5da4d01f72a447b.svg","flags/1x1/ye.svg":"flags/1x1/ye-0c0e32330871e6d83af54affb7dadbbe736f9799068508211fbae54db9bbdcc6.svg","flags/4x3/yt.svg":"flags/4x3/yt-2eef17b543424082d9f9b42a67e84c20b52e7f7eae8c4326d60711158da51d5b.svg","flags/1x1/yt.svg":"flags/1x1/yt-911da8075337fd8f75ecc8a338c294cb771c6b9a08576f96c9de1437888cd2a7.svg","flags/4x3/za.svg":"flags/4x3/za-45991a2aee307198510e56bf92523070aac4241cafe6c3ddb8f89b20a61d6371.svg","flags/1x1/za.svg":"flags/1x1/za-bc09a89b29311ea7e582ef60bf4e18aff7c29de6fbefe309463ca765723a0ce8.svg","flags/4x3/zm.svg":"flags/4x3/zm-07c0f30d86e66d0cad9d66cd9c9384d9cce1844f159d245deff6717101fe49c2.svg","flags/1x1/zm.svg":"flags/1x1/zm-fc5bce3834c71fe36617ea5f57f0bd1dcf3880a7c6aa515dcf92ae067f796241.svg","flags/4x3/zw.svg":"flags/4x3/zw-5217c74f14d9fdda244b69c5982bbabee052ac0f1cc0704926e8b1e621e50f9a.svg","flags/1x1/zw.svg":"flags/1x1/zw-a33b191c631709b9e1d85e06f5b15535fb544d4668c8bef865ede2a0b6a88ed9.svg","flags/4x3/es-ct.svg":"flags/4x3/es-ct-bcbb454a50c9a647efd43dcf041445f15e8dd70654bde530bf62401d4fb7738d.svg","flags/1x1/es-ct.svg":"flags/1x1/es-ct-7f13eb2b2f5c11dccd7043286bed7540d4dad4b1a8367b0aca1b8405a351b2ef.svg","flags/4x3/eu.svg":"flags/4x3/eu-5f129db64306353251b78f998d531d2f1019404cfa890ae63ed70dc316c7f240.svg","flags/1x1/eu.svg":"flags/1x1/eu-ec59ac8daf2a63ea8e299ad63a208445d68a96affe6a10a7328acb6799d44127.svg","flags/4x3/gb-eng.svg":"flags/4x3/gb-eng-1895f4e35ae299f5d869da2462ffcf98df4b08dcddc531c8f175e49720001a14.svg","flags/1x1/gb-eng.svg":"flags/1x1/gb-eng-d11afb87f40f35acda435a886ea044bd5e0b6f363ba0c7319f1d0181551fecf3.svg","flags/4x3/gb-nir.svg":"flags/4x3/gb-nir-b280f09c787f495c1074376cd67537b40216f672917e7d204bb12b8e7c72afaf.svg","flags/1x1/gb-nir.svg":"flags/1x1/gb-nir-2e516e72e0e8e244ef430e6608322f8c4fb276807ab033279b2a6570dd68fd41.svg","flags/4x3/gb-sct.svg":"flags/4x3/gb-sct-1b9e407802ae901cf8da740c382ec2b19821837d76271a73346e0c63c2244506.svg","flags/1x1/gb-sct.svg":"flags/1x1/gb-sct-d01e8a06a340e30ce52e8a3aba7ca6207afb96fdb238a815cc6cb92df8fa5df3.svg","flags/4x3/gb-wls.svg":"flags/4x3/gb-wls-5232b3e376a19866cddec8225cba242783b2a48063811957f1ce5a2c347c5bc9.svg","flags/1x1/gb-wls.svg":"flags/1x1/gb-wls-126615bc3597fda1ca4ee931ef24f6c2cf2547998c06db9c1ded69fe66c479e9.svg","flags/4x3/un.svg":"flags/4x3/un-31dece22ae18c3e01e86648ef3ef45f2f5b3d9d28a1e2bbbcdb1d87c37af55af.svg","flags/1x1/un.svg":"flags/1x1/un-455b5f3173ca9ac64f2135fac4ead7217d7fbe07551d0d2cc60216f83208f798.svg","leaflet/dist/images/layers.png":"leaflet/dist/images/layers-1dbbe9d028e292f36fcba8f8b3a28d5e8932754fc2215b9ac69e4cdecf5107c6.png","leaflet/dist/images/layers-2x.png":"leaflet/dist/images/layers-2x-066daca850d8ffbef007af00b06eac0015728dee279c51f3cb6c716df7c42edf.png","leaflet/dist/images/marker-icon.png":"leaflet/dist/images/marker-icon-574c3a5cca85f4114085b6841596d62f00d7c892c7b03f28cbfa301deb1dc437.png","markers-soft.png":"markers-soft-e78784e4ed70aaffddd73c315fab590233cc4e7b72388d7dd47a14796fc7c739.png","markers-shadow.png":"markers-shadow-8703a2262710f5e3d29e65d2acdf90d6512e159e119d27b8234731d8a6208a20.png","markers-soft@2x.png":"markers-soft@2x-c1e77253a8bfbe30cec24885d7046f443b76ebb66f4c961f77083b03f4a5cbaf.png","markers-shadow@2x.png":"markers-shadow@2x-b21a536be27313fb504f69f5899ff0b1245b276571769ac08d6c32c35676e47a.png","events.js":"events-f12a16c68c84767cfc222c763d56e2209bc4d5ad519f05095f2d4429c0b1a315.js","filter.js":"filter-2ec96b9d0c650c880941d7e9fd568decd1d587dc037d106144a07ad103b0e0ca.js","flash.js":"flash-41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7.js","frTypo.js":"frTypo-fed98b7d2ce187c2a3cff9153ac6aa2dbf7b91d33809da77c6561ff34d1be836.js","list.js":"list-41f5b95206f7a684b89eb997846a01155f94ab0b6568b4275704d3f285f599d7.js","maps.js":"maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js","moderations.js":"moderations-c5471afdd75123fdbb36ee14b85e6633c8127d0c115e35931616c329a8605380.js","notes.js":"notes-85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb.js","orgas.js":"orgas-85819c738920d4fe3e6b89716788590d27b2db4b11802c0a0cdd48baefb18fcb.js","pages.js":"pages-9dcc8cb3626a9f198ab95f9e64bb4d269167a7405dd07f94140f5ec6d32b6084.js","pagination.js":"pagination-ab6b8afabe3d53764287ed9d0ee9d4b7092cab98cdfb453a54471066fed05aa5.js","setup_tinymce.js":"setup_tinymce-d8387e12966ef5097652a4d0a20baeea770fe700706c5bb25be979bcd361aa4b.js","stats.js":"stats-40295d647e6144715bc9fb45f60096ddff913afddf11844aeacda47cbed68400.js","_variables.css":"_variables-d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6.css","agendadescommuns.css":"agendadescommuns-734d24884af76ee167fcf102dbdbec43e5b2726e65f40c350ad3800f7ee99f55.css","all.css":"all-a55a9ed762f8344ecd74346308ae7066a283d34302fbce1ef5924ad5ce19bb27.css","digest.css":"digest-e13dd03a72165cef5027b81a774f458fe1a6910d2baaae84bae560b3199a77c3.css","events.css":"events-bb56649a8c5b11d0b8005a8e23e7560f34d7b79fcccccffe4a1407102cfffed6.css","form.css":"form-f1da5f65f35af4489cf79067f5c0409ae5d9e41aa8286fcfef13727fd46aa988.css","frTypo.css":"frTypo-ebcaa45fa7c0bf7821d05959aaceda63d26a30d30079e70619932b0e1d49f512.css","list.css":"list-d5aed2f96e49ce444974d43fb9d53d43f2ae1f5bb5b1716e5dc245447fd64316.css","maps.css":"maps-644829bf7b14b0c1b73efb7b2d44049969271bd969174b5bf7c53d0159cf424c.css","mobile.css":"mobile-59b7aeed8e7ee6e2ced7bb7a6f26ae9e4e2ed3c514a584c0e706128b4ad7fe36.css","moderations.css":"moderations-ede8f4f2808ab572908780f2daea2ea4e76b1d0b0c5735d744bb7cc51fb69895.css","notes.css":"notes-e607250b9cef023a762c009acc65c3320ec1f6d5814a30aa3c1ba907b4f8cb5f.css","orgas.css":"orgas-dd7a2a3fc67e9fa14675e1b59263b8f83e052274d6b900875b0ee4494143ad80.css","pages.css":"pages-5eed9147c9cfe84eb1299bc0ca0d8b0c81fb0c07ecb38e26949e7d4e483746e2.css","region.css":"region-0d416c6171a588eb6a1a40642f2984f08b0b205d2eab077b12bd859fd60cef3e.css","scaffolds.css":"scaffolds-c26fee551087c3b72541cae52a1cc6b454f153e2d04c01d4b35b9ec1ae6cf09b.css","sessions.css":"sessions-d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6.css","stats.css":"stats-a22ad34b2184e63c6ee60f75829dcae68c2a3e9094a0af419e06306b5b68af45.css","tags.css":"tags-c338d658bc3a1e40d8c6694d1fab6a633686ccc2c626563f890384fab38c20f0.css","versions.css":"versions-3e2a6ffdc6f7728b0e5e517a208c4d1a72167a6d4da6bc4d36db4941150926bb.css","tinymce/jquery.tinymce.js":"tinymce/jquery.tinymce-288911771c7167ab9efe3c86b2ec5ade1cea510dc1026943df84685c38d91ef2.js","tinymce/langs/readme.md":"tinymce/langs/readme.md","tinymce/license.txt":"tinymce/license.txt","tinymce/plugins/advlist/plugin.js":"tinymce/plugins/advlist/plugin-9d5f181c8b89a6d3fd79e5773920a8702a818e3503f2d2225538b1024e22c881.js","tinymce/plugins/anchor/plugin.js":"tinymce/plugins/anchor/plugin-1101283820b4b9031320d224dd162327bb6ad406925efba1b0712b448ffae72c.js","tinymce/plugins/autolink/plugin.js":"tinymce/plugins/autolink/plugin-ea3267031e438e98832047c8265fbc070407a0ffbc93e8d2c3a48bd752b1e336.js","tinymce/plugins/autoresize/plugin.js":"tinymce/plugins/autoresize/plugin-debda956b34a60a1b4bc427cdfc19a87e2b41ff10438a945371c7f93d731ed77.js","tinymce/plugins/autosave/plugin.js":"tinymce/plugins/autosave/plugin-5d7b50830029e2fcbec55cca0328d8142fa0d8f46757c9019a4cb28be4e3fee5.js","tinymce/plugins/bbcode/plugin.js":"tinymce/plugins/bbcode/plugin-d4ea4957fd10a1e6e2956954d47b39e019705163bc4da5dfcaaac5fc7c3c763d.js","tinymce/plugins/charmap/plugin.js":"tinymce/plugins/charmap/plugin-3e427c5d66327507030644fed56edbce588cee62648ee8af86ac06e26873d758.js","tinymce/plugins/code/plugin.js":"tinymce/plugins/code/plugin-a1e4ee3ef429e49b5d6bf2505813b0ab804e6b72dd5ca733be0b661e4608e37a.js","tinymce/plugins/codesample/plugin.js":"tinymce/plugins/codesample/plugin-ec16e82f1cf7c8759aa18ad9677b1c828c7d779758d4f803c7b6a1374d79f5d0.js","tinymce/plugins/colorpicker/plugin.js":"tinymce/plugins/colorpicker/plugin-397300b6bbf064534c66e500cc76f04974a8b3148ff8527696952f6e66904ff4.js","tinymce/plugins/contextmenu/plugin.js":"tinymce/plugins/contextmenu/plugin-854c81b98b7c49b727ef2838a12496df12c17eb532e75c0b136587d5319dfeb4.js","tinymce/plugins/directionality/plugin.js":"tinymce/plugins/directionality/plugin-51daac61c7bb784b21fd9e7bb7ece6faec999a23cfc1235fd738e6b7b535d0c7.js","tinymce/plugins/emoticons/js/emojis.js":"tinymce/plugins/emoticons/js/emojis-a0736896b97ad33377407df852694702e5a4df5c9974373f8f8de3e147a9c57a.js","tinymce/plugins/emoticons/plugin.js":"tinymce/plugins/emoticons/plugin-0a616a34a40aaf42639751775cd0c8a7a07c253dc2d50d6fd259aff0494af6dc.js","tinymce/plugins/fullpage/plugin.js":"tinymce/plugins/fullpage/plugin-950be265f2e1f9463176d4d371603e745dafe60b20d085d3fdb7dfc731851abf.js","tinymce/plugins/fullscreen/plugin.js":"tinymce/plugins/fullscreen/plugin-2c24621819d483ae03f863ffac123332dacb13aaf4bc37462e076b3f1b416dd7.js","tinymce/plugins/help/plugin.js":"tinymce/plugins/help/plugin-256c84a454287673fa4c4a88785948aff7d88baa7087ec78323989144bc8009a.js","tinymce/plugins/hr/plugin.js":"tinymce/plugins/hr/plugin-98aae8ceed7e478997882f091ff4ab9b7c6361ebf4a4c1a5d42e5066510dad36.js","tinymce/plugins/image/plugin.js":"tinymce/plugins/image/plugin-bedbb33580f5c7191faeca7f057f6f86737a62b661706c09bd910259eac36724.js","tinymce/plugins/imagetools/plugin.js":"tinymce/plugins/imagetools/plugin-2c6afa5dc81bff9d4aed443e0d8c14d2a73d5bd2528943289223bf843b3caac4.js","tinymce/plugins/importcss/plugin.js":"tinymce/plugins/importcss/plugin-f4e599c94612b273a8dacf94ad1622adcff633a5fd4387ae5121f7d5722247ff.js","tinymce/plugins/insertdatetime/plugin.js":"tinymce/plugins/insertdatetime/plugin-3f37e3a0ba1506ff8ad6dd835cde7ed3d2db3e9ece51733ea2950f666cec11c2.js","tinymce/plugins/legacyoutput/plugin.js":"tinymce/plugins/legacyoutput/plugin-9cbb8dd8733fc043c2825f7f62590d5e8fd3ee73badfbbec677c04a0e21c3ec3.js","tinymce/plugins/link/plugin.js":"tinymce/plugins/link/plugin-178cc5b94ecc34fe0658a51b3dca57fcc70b554a959dcadd6c4031ca854b337a.js","tinymce/plugins/lists/plugin.js":"tinymce/plugins/lists/plugin-48983439cc63cb4a8fea18c9bfe9879f14f8ae6a73c9c66f35432fbc09c514ea.js","tinymce/plugins/media/plugin.js":"tinymce/plugins/media/plugin-14c054e4fcb51f19c4d4485a42ba6cc0c8455e8162bdbdd5ea97b09368afcc9e.js","tinymce/plugins/nonbreaking/plugin.js":"tinymce/plugins/nonbreaking/plugin-85b41dad44751eb9c762fc9873ab21e3d7fe279c0ec4ff7447e82fd51b7d37a4.js","tinymce/plugins/noneditable/plugin.js":"tinymce/plugins/noneditable/plugin-a27d05cbf2a672f92224d78d1ad31c6e4662a5aae17fb661ccbcacd51e943fd7.js","tinymce/plugins/pagebreak/plugin.js":"tinymce/plugins/pagebreak/plugin-749e5872ed39a1f09961b49bb255fac0f6360f01c7f0b4ec1b5f38f5e2ef3d01.js","tinymce/plugins/paste/plugin.js":"tinymce/plugins/paste/plugin-0b77edd91b1c76af73aacd79e6dad100aa11ef7c5c03f0333d26df1750dd45e7.js","tinymce/plugins/preview/plugin.js":"tinymce/plugins/preview/plugin-f03537c1c398cca4e649bdeeb6ea907e006158a53cfe04ba36cd72c3e6a62180.js","tinymce/plugins/print/plugin.js":"tinymce/plugins/print/plugin-138e832a86ceeb9d70d7b2a0e4441ef63f6c67543c2e80768f30ca21644f3ece.js","tinymce/plugins/quickbars/plugin.js":"tinymce/plugins/quickbars/plugin-c22bae775a23ec4f8d5c1ccd0c22a4879431dcfc3cfc4a9beda56643e63c3847.js","tinymce/plugins/save/plugin.js":"tinymce/plugins/save/plugin-69fa49b662035a24756176359a3fa2c75a81bdb72c7273b02adf3f049522f759.js","tinymce/plugins/searchreplace/plugin.js":"tinymce/plugins/searchreplace/plugin-dcc69f2da3c72a7333e92f3388d6b95586d8654fe7806cfcabf37ea72658dd28.js","tinymce/plugins/spellchecker/plugin.js":"tinymce/plugins/spellchecker/plugin-ce68d7606345e0306c571efe4943281c791210c94150762cda68995dbddf4ffe.js","tinymce/plugins/tabfocus/plugin.js":"tinymce/plugins/tabfocus/plugin-e9208621ad5eac8e846dc63b1147e34d5bc88e58071ebcff8507ac0584fa49e1.js","tinymce/plugins/table/plugin.js":"tinymce/plugins/table/plugin-6f3d2766a8dba93298aeec2fbef24b09f9f06276201d9bff3b6398f8b88ef2e0.js","tinymce/plugins/template/plugin.js":"tinymce/plugins/template/plugin-b83aef186cd1fee1c5db5c21c929528cef7d1a33485d58a444f99b70b2f63b01.js","tinymce/plugins/textcolor/plugin.js":"tinymce/plugins/textcolor/plugin-28ab395ea6dfbe3ca00cc85474556006e3d299c82f20ac9e83f67a6db6a15242.js","tinymce/plugins/textpattern/plugin.js":"tinymce/plugins/textpattern/plugin-e08737496fb339132b7e08dd96bce0887392031353e206aecfecdd80665a0403.js","tinymce/plugins/toc/plugin.js":"tinymce/plugins/toc/plugin-4d1c388ae94827bd4daa04db25c7fc86abef34ee4ae3b3f7c23c5895bc6a078f.js","tinymce/plugins/visualblocks/plugin.js":"tinymce/plugins/visualblocks/plugin-6a108188d2b0f1fb88f097e369d9cb67cc213944d7b11f16501a51b825ea62da.js","tinymce/plugins/visualchars/plugin.js":"tinymce/plugins/visualchars/plugin-38fdc7742fa0f36b65af47d47d91f74a0f0c976c18d6b029b70f4e54c58c34a5.js","tinymce/plugins/wordcount/plugin.js":"tinymce/plugins/wordcount/plugin-7b30653d1524deab208a452ce81b800a4de426cc91fceae4eca5c686b060ba78.js","tinymce/skins/content/dark/content.css":"tinymce/skins/content/dark/content-6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af.css","tinymce/skins/content/dark/content.min.css":"tinymce/skins/content/dark/content.min-6d10d0c4a63ab02f8fb5d35269832ba1e26d4e74e419d01f4c66c5282d3dd1af.css","tinymce/skins/content/default/content.css":"tinymce/skins/content/default/content-6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528.css","tinymce/skins/content/default/content.min.css":"tinymce/skins/content/default/content.min-6c8756ba3e02f97451d5c55be85537c3fc75da6e9edea7121c8b9e64aa903528.css","tinymce/skins/content/document/content.css":"tinymce/skins/content/document/content-cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f.css","tinymce/skins/content/document/content.min.css":"tinymce/skins/content/document/content.min-cef2580b983fd570768ec93bed32544cfd4f3aeb5cc71da988e5acaa803c276f.css","tinymce/skins/content/writer/content.css":"tinymce/skins/content/writer/content-eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622.css","tinymce/skins/content/writer/content.min.css":"tinymce/skins/content/writer/content.min-eb8e48d175f37ee3a4deb4fafb4cde5f579420b4ba62c14e96e6da9fd937b622.css","tinymce/skins/ui/oxide-dark/content.css":"tinymce/skins/ui/oxide-dark/content-81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef.css","tinymce/skins/ui/oxide-dark/content.inline.css":"tinymce/skins/ui/oxide-dark/content.inline-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css","tinymce/skins/ui/oxide-dark/content.inline.min.css":"tinymce/skins/ui/oxide-dark/content.inline.min-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css","tinymce/skins/ui/oxide-dark/content.min.css":"tinymce/skins/ui/oxide-dark/content.min-81c608eb8a9911ea3cf7d6026e97140083dbd5596706be0f633005c6f80175ef.css","tinymce/skins/ui/oxide-dark/content.mobile.css":"tinymce/skins/ui/oxide-dark/content.mobile-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css","tinymce/skins/ui/oxide-dark/content.mobile.min.css":"tinymce/skins/ui/oxide-dark/content.mobile.min-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css","tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff":"tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff","tinymce/skins/ui/oxide-dark/skin.css":"tinymce/skins/ui/oxide-dark/skin-8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11.css","tinymce/skins/ui/oxide-dark/skin.min.css":"tinymce/skins/ui/oxide-dark/skin.min-8f562050edc4951d08dc4c42d9abbdc98944c3a514847686712789ea5f88de11.css","tinymce/skins/ui/oxide-dark/skin.mobile.css":"tinymce/skins/ui/oxide-dark/skin.mobile-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css","tinymce/skins/ui/oxide-dark/skin.mobile.min.css":"tinymce/skins/ui/oxide-dark/skin.mobile.min-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css","tinymce/skins/ui/oxide/content.css":"tinymce/skins/ui/oxide/content-38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd.css","tinymce/skins/ui/oxide/content.inline.css":"tinymce/skins/ui/oxide/content.inline-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css","tinymce/skins/ui/oxide/content.inline.min.css":"tinymce/skins/ui/oxide/content.inline.min-4099be85fea57dc1b5102faaff648a36e669935a269dd2cc33ae9670f003a092.css","tinymce/skins/ui/oxide/content.min.css":"tinymce/skins/ui/oxide/content.min-38b75dfe44cac0aba1c78acebc42261c130d7736cb4db899de3535793c8a4ebd.css","tinymce/skins/ui/oxide/content.mobile.css":"tinymce/skins/ui/oxide/content.mobile-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css","tinymce/skins/ui/oxide/content.mobile.min.css":"tinymce/skins/ui/oxide/content.mobile.min-72514c6c02bdf02fe727cbf4a8fc8d073dee8fcfaedfbe847449a621bff0f064.css","tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff":"tinymce/skins/ui/oxide/fonts/tinymce-mobile-e64bf156a432d63f5b34b4567b513dc0d351b49161c7f608fb82574bfdd9d213.woff","tinymce/skins/ui/oxide/skin.css":"tinymce/skins/ui/oxide/skin-c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc.css","tinymce/skins/ui/oxide/skin.min.css":"tinymce/skins/ui/oxide/skin.min-c30b1548ee7650cf9fd76b916505934a82a1330e0e88b6fb2ec6c0236be8acbc.css","tinymce/skins/ui/oxide/skin.mobile.css":"tinymce/skins/ui/oxide/skin.mobile-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css","tinymce/skins/ui/oxide/skin.mobile.min.css":"tinymce/skins/ui/oxide/skin.mobile.min-8a6d1def829e9f422fd92db88857405ae5128a816db0c33cf8e4eff513738b3a.css","tinymce/themes/mobile/theme.js":"tinymce/themes/mobile/theme-3b6cfd8e85aa4cd48d541a0a41e6150e356ae1c0465fb62adafca1ce83629949.js","tinymce/themes/silver/theme.js":"tinymce/themes/silver/theme-74965ba198307e513a8b8ab9c75bf7afceab2aab3db185c520de06bae6e0bc24.js","tinymce/tinymce.js":"tinymce/tinymce-d8d7d4ca47f6ef4ce19ed7d5ded0ca20723a967cc368279a3f6417682a422371.js","tinymce-rails.manifest.js":"tinymce-rails.manifest-e761884522a9ca2dac475b68bac1946c990fb9af8b676d3b6b45692a920c8d04.js"}} \ No newline at end of file diff --git a/public/assets/application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js b/public/assets/application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js new file mode 100644 index 00000000..6017c3c8 --- /dev/null +++ b/public/assets/application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js @@ -0,0 +1,53451 @@ +/* + * File: iframeResizer.js + * Desc: Force iframes to size to content. + * Requires: iframeResizer.contentWindow.js to be loaded into the target frame. + * Doc: https://github.com/davidjbradshaw/iframe-resizer + * Author: David J. Bradshaw - dave@bradshaw.net + * Contributor: Jure Mav - jure.mav@gmail.com + * Contributor: Reed Dadoune - reed@dadoune.com + */ + +// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names +;(function(undefined) { + if (typeof window === 'undefined') return // don't run for server side render + + var count = 0, + logEnabled = false, + hiddenCheckEnabled = false, + msgHeader = 'message', + msgHeaderLen = msgHeader.length, + msgId = '[iFrameSizer]', // Must match iframe msg ID + msgIdLen = msgId.length, + pagePosition = null, + requestAnimationFrame = window.requestAnimationFrame, + resetRequiredMethods = { + max: 1, + scroll: 1, + bodyScroll: 1, + documentElementScroll: 1 + }, + settings = {}, + timer = null, + defaults = { + autoResize: true, + bodyBackground: null, + bodyMargin: null, + bodyMarginV1: 8, + bodyPadding: null, + checkOrigin: true, + inPageLinks: false, + enablePublicMethods: true, + heightCalculationMethod: 'bodyOffset', + id: 'iFrameResizer', + interval: 32, + log: false, + maxHeight: Infinity, + maxWidth: Infinity, + minHeight: 0, + minWidth: 0, + resizeFrom: 'parent', + scrolling: false, + sizeHeight: true, + sizeWidth: false, + warningTimeout: 5000, + tolerance: 0, + widthCalculationMethod: 'scroll', + onClosed: function() {}, + onInit: function() {}, + onMessage: function() { + warn('onMessage function not defined') + }, + onResized: function() {}, + onScroll: function() { + return true + } + } + + function getMutationObserver() { + return ( + window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ) + } + + function addEventListener(el, evt, func) { + el.addEventListener(evt, func, false) + } + + function removeEventListener(el, evt, func) { + el.removeEventListener(evt, func, false) + } + + function setupRequestAnimationFrame() { + var vendors = ['moz', 'webkit', 'o', 'ms'] + var x + + // Remove vendor prefixing if prefixed and break early if not + for (x = 0; x < vendors.length && !requestAnimationFrame; x += 1) { + requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'] + } + + if (!requestAnimationFrame) { + log('setup', 'RequestAnimationFrame not supported') + } + } + + function getMyID(iframeId) { + var retStr = 'Host page: ' + iframeId + + if (window.top !== window.self) { + if (window.parentIFrame && window.parentIFrame.getId) { + retStr = window.parentIFrame.getId() + ': ' + iframeId + } else { + retStr = 'Nested host page: ' + iframeId + } + } + + return retStr + } + + function formatLogHeader(iframeId) { + return msgId + '[' + getMyID(iframeId) + ']' + } + + function isLogEnabled(iframeId) { + return settings[iframeId] ? settings[iframeId].log : logEnabled + } + + function log(iframeId, msg) { + output('log', iframeId, msg, isLogEnabled(iframeId)) + } + + function info(iframeId, msg) { + output('info', iframeId, msg, isLogEnabled(iframeId)) + } + + function warn(iframeId, msg) { + output('warn', iframeId, msg, true) + } + + function output(type, iframeId, msg, enabled) { + if (true === enabled && 'object' === typeof window.console) { + // eslint-disable-next-line no-console + console[type](formatLogHeader(iframeId), msg) + } + } + + function iFrameListener(event) { + function resizeIFrame() { + function resize() { + setSize(messageData) + setPagePosition(iframeId) + on('onResized', messageData) + } + + ensureInRange('Height') + ensureInRange('Width') + + syncResize(resize, messageData, 'init') + } + + function processMsg() { + var data = msg.substr(msgIdLen).split(':') + + return { + iframe: settings[data[0]] && settings[data[0]].iframe, + id: data[0], + height: data[1], + width: data[2], + type: data[3] + } + } + + function ensureInRange(Dimension) { + var max = Number(settings[iframeId]['max' + Dimension]), + min = Number(settings[iframeId]['min' + Dimension]), + dimension = Dimension.toLowerCase(), + size = Number(messageData[dimension]) + + log(iframeId, 'Checking ' + dimension + ' is in range ' + min + '-' + max) + + if (size < min) { + size = min + log(iframeId, 'Set ' + dimension + ' to min value') + } + + if (size > max) { + size = max + log(iframeId, 'Set ' + dimension + ' to max value') + } + + messageData[dimension] = '' + size + } + + function isMessageFromIFrame() { + function checkAllowedOrigin() { + function checkList() { + var i = 0, + retCode = false + + log( + iframeId, + 'Checking connection is from allowed list of origins: ' + + checkOrigin + ) + + for (; i < checkOrigin.length; i++) { + if (checkOrigin[i] === origin) { + retCode = true + break + } + } + return retCode + } + + function checkSingle() { + var remoteHost = settings[iframeId] && settings[iframeId].remoteHost + log(iframeId, 'Checking connection is from: ' + remoteHost) + return origin === remoteHost + } + + return checkOrigin.constructor === Array ? checkList() : checkSingle() + } + + var origin = event.origin, + checkOrigin = settings[iframeId] && settings[iframeId].checkOrigin + + if (checkOrigin && '' + origin !== 'null' && !checkAllowedOrigin()) { + throw new Error( + 'Unexpected message received from: ' + + origin + + ' for ' + + messageData.iframe.id + + '. Message was: ' + + event.data + + '. This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.' + ) + } + + return true + } + + function isMessageForUs() { + return ( + msgId === ('' + msg).substr(0, msgIdLen) && + msg.substr(msgIdLen).split(':')[0] in settings + ) // ''+Protects against non-string msg + } + + function isMessageFromMetaParent() { + // Test if this message is from a parent above us. This is an ugly test, however, updating + // the message format would break backwards compatibity. + var retCode = messageData.type in { true: 1, false: 1, undefined: 1 } + + if (retCode) { + log(iframeId, 'Ignoring init message from meta parent page') + } + + return retCode + } + + function getMsgBody(offset) { + return msg.substr(msg.indexOf(':') + msgHeaderLen + offset) + } + + function forwardMsgFromIFrame(msgBody) { + log( + iframeId, + 'onMessage passed: {iframe: ' + + messageData.iframe.id + + ', message: ' + + msgBody + + '}' + ) + on('onMessage', { + iframe: messageData.iframe, + message: JSON.parse(msgBody) + }) + log(iframeId, '--') + } + + function getPageInfo() { + var bodyPosition = document.body.getBoundingClientRect(), + iFramePosition = messageData.iframe.getBoundingClientRect() + + return JSON.stringify({ + iframeHeight: iFramePosition.height, + iframeWidth: iFramePosition.width, + clientHeight: Math.max( + document.documentElement.clientHeight, + window.innerHeight || 0 + ), + clientWidth: Math.max( + document.documentElement.clientWidth, + window.innerWidth || 0 + ), + offsetTop: parseInt(iFramePosition.top - bodyPosition.top, 10), + offsetLeft: parseInt(iFramePosition.left - bodyPosition.left, 10), + scrollTop: window.pageYOffset, + scrollLeft: window.pageXOffset, + documentHeight: document.documentElement.clientHeight, + documentWidth: document.documentElement.clientWidth, + windowHeight: window.innerHeight, + windowWidth: window.innerWidth + }) + } + + function sendPageInfoToIframe(iframe, iframeId) { + function debouncedTrigger() { + trigger('Send Page Info', 'pageInfo:' + getPageInfo(), iframe, iframeId) + } + debounceFrameEvents(debouncedTrigger, 32, iframeId) + } + + function startPageInfoMonitor() { + function setListener(type, func) { + function sendPageInfo() { + if (settings[id]) { + sendPageInfoToIframe(settings[id].iframe, id) + } else { + stop() + } + } + + ;['scroll', 'resize'].forEach(function(evt) { + log(id, type + evt + ' listener for sendPageInfo') + func(window, evt, sendPageInfo) + }) + } + + function stop() { + setListener('Remove ', removeEventListener) + } + + function start() { + setListener('Add ', addEventListener) + } + + var id = iframeId // Create locally scoped copy of iFrame ID + + start() + + if (settings[id]) { + settings[id].stopPageInfo = stop + } + } + + function stopPageInfoMonitor() { + if (settings[iframeId] && settings[iframeId].stopPageInfo) { + settings[iframeId].stopPageInfo() + delete settings[iframeId].stopPageInfo + } + } + + function checkIFrameExists() { + var retBool = true + + if (null === messageData.iframe) { + warn(iframeId, 'IFrame (' + messageData.id + ') not found') + retBool = false + } + return retBool + } + + function getElementPosition(target) { + var iFramePosition = target.getBoundingClientRect() + + getPagePosition(iframeId) + + return { + x: Math.floor(Number(iFramePosition.left) + Number(pagePosition.x)), + y: Math.floor(Number(iFramePosition.top) + Number(pagePosition.y)) + } + } + + function scrollRequestFromChild(addOffset) { + /* istanbul ignore next */ // Not testable in Karma + function reposition() { + pagePosition = newPosition + scrollTo() + log(iframeId, '--') + } + + function calcOffset() { + return { + x: Number(messageData.width) + offset.x, + y: Number(messageData.height) + offset.y + } + } + + function scrollParent() { + if (window.parentIFrame) { + window.parentIFrame['scrollTo' + (addOffset ? 'Offset' : '')]( + newPosition.x, + newPosition.y + ) + } else { + warn( + iframeId, + 'Unable to scroll to requested position, window.parentIFrame not found' + ) + } + } + + var offset = addOffset + ? getElementPosition(messageData.iframe) + : { x: 0, y: 0 }, + newPosition = calcOffset() + + log( + iframeId, + 'Reposition requested from iFrame (offset x:' + + offset.x + + ' y:' + + offset.y + + ')' + ) + + if (window.top !== window.self) { + scrollParent() + } else { + reposition() + } + } + + function scrollTo() { + if (false !== on('onScroll', pagePosition)) { + setPagePosition(iframeId) + } else { + unsetPagePosition() + } + } + + function findTarget(location) { + function jumpToTarget() { + var jumpPosition = getElementPosition(target) + + log( + iframeId, + 'Moving to in page link (#' + + hash + + ') at x: ' + + jumpPosition.x + + ' y: ' + + jumpPosition.y + ) + pagePosition = { + x: jumpPosition.x, + y: jumpPosition.y + } + + scrollTo() + log(iframeId, '--') + } + + function jumpToParent() { + if (window.parentIFrame) { + window.parentIFrame.moveToAnchor(hash) + } else { + log( + iframeId, + 'In page link #' + + hash + + ' not found and window.parentIFrame not found' + ) + } + } + + var hash = location.split('#')[1] || '', + hashData = decodeURIComponent(hash), + target = + document.getElementById(hashData) || + document.getElementsByName(hashData)[0] + + if (target) { + jumpToTarget() + } else if (window.top !== window.self) { + jumpToParent() + } else { + log(iframeId, 'In page link #' + hash + ' not found') + } + } + + function on(funcName, val) { + return chkEvent(iframeId, funcName, val) + } + + function actionMsg() { + if (settings[iframeId] && settings[iframeId].firstRun) firstRun() + + switch (messageData.type) { + case 'close': + if (settings[iframeId].closeRequeston) + chkEvent(iframeId, 'onCloseRequest', settings[iframeId].iframe) + else closeIFrame(messageData.iframe) + break + + case 'message': + forwardMsgFromIFrame(getMsgBody(6)) + break + + case 'scrollTo': + scrollRequestFromChild(false) + break + + case 'scrollToOffset': + scrollRequestFromChild(true) + break + + case 'pageInfo': + sendPageInfoToIframe( + settings[iframeId] && settings[iframeId].iframe, + iframeId + ) + startPageInfoMonitor() + break + + case 'pageInfoStop': + stopPageInfoMonitor() + break + + case 'inPageLink': + findTarget(getMsgBody(9)) + break + + case 'reset': + resetIFrame(messageData) + break + + case 'init': + resizeIFrame() + on('onInit', messageData.iframe) + break + + default: + resizeIFrame() + } + } + + function hasSettings(iframeId) { + var retBool = true + + if (!settings[iframeId]) { + retBool = false + warn( + messageData.type + + ' No settings for ' + + iframeId + + '. Message was: ' + + msg + ) + } + + return retBool + } + + function iFrameReadyMsgReceived() { + // eslint-disable-next-line no-restricted-syntax, guard-for-in + for (var iframeId in settings) { + trigger( + 'iFrame requested init', + createOutgoingMsg(iframeId), + document.getElementById(iframeId), + iframeId + ) + } + } + + function firstRun() { + if (settings[iframeId]) { + settings[iframeId].firstRun = false + } + } + + var msg = event.data, + messageData = {}, + iframeId = null + + if ('[iFrameResizerChild]Ready' === msg) { + iFrameReadyMsgReceived() + } else if (isMessageForUs()) { + messageData = processMsg() + iframeId = messageData.id + if (settings[iframeId]) { + settings[iframeId].loaded = true + } + + if (!isMessageFromMetaParent() && hasSettings(iframeId)) { + log(iframeId, 'Received: ' + msg) + + if (checkIFrameExists() && isMessageFromIFrame()) { + actionMsg() + } + } + } else { + info(iframeId, 'Ignored: ' + msg) + } + } + + function chkEvent(iframeId, funcName, val) { + var func = null, + retVal = null + + if (settings[iframeId]) { + func = settings[iframeId][funcName] + + if ('function' === typeof func) { + retVal = func(val) + } else { + throw new TypeError( + funcName + ' on iFrame[' + iframeId + '] is not a function' + ) + } + } + + return retVal + } + + function removeIframeListeners(iframe) { + var iframeId = iframe.id + delete settings[iframeId] + } + + function closeIFrame(iframe) { + var iframeId = iframe.id + log(iframeId, 'Removing iFrame: ' + iframeId) + + try { + // Catch race condition error with React + if (iframe.parentNode) { + iframe.parentNode.removeChild(iframe) + } + } catch (error) { + warn(error) + } + + chkEvent(iframeId, 'onClosed', iframeId) + log(iframeId, '--') + removeIframeListeners(iframe) + } + + function getPagePosition(iframeId) { + if (null === pagePosition) { + pagePosition = { + x: + window.pageXOffset !== undefined + ? window.pageXOffset + : document.documentElement.scrollLeft, + y: + window.pageYOffset !== undefined + ? window.pageYOffset + : document.documentElement.scrollTop + } + log( + iframeId, + 'Get page position: ' + pagePosition.x + ',' + pagePosition.y + ) + } + } + + function setPagePosition(iframeId) { + if (null !== pagePosition) { + window.scrollTo(pagePosition.x, pagePosition.y) + log( + iframeId, + 'Set page position: ' + pagePosition.x + ',' + pagePosition.y + ) + unsetPagePosition() + } + } + + function unsetPagePosition() { + pagePosition = null + } + + function resetIFrame(messageData) { + function reset() { + setSize(messageData) + trigger('reset', 'reset', messageData.iframe, messageData.id) + } + + log( + messageData.id, + 'Size reset requested by ' + + ('init' === messageData.type ? 'host page' : 'iFrame') + ) + getPagePosition(messageData.id) + syncResize(reset, messageData, 'reset') + } + + function setSize(messageData) { + function setDimension(dimension) { + if (!messageData.id) { + log('undefined', 'messageData id not set') + return + } + messageData.iframe.style[dimension] = messageData[dimension] + 'px' + log( + messageData.id, + 'IFrame (' + + iframeId + + ') ' + + dimension + + ' set to ' + + messageData[dimension] + + 'px' + ) + } + + function chkZero(dimension) { + // FireFox sets dimension of hidden iFrames to zero. + // So if we detect that set up an event to check for + // when iFrame becomes visible. + + /* istanbul ignore next */ // Not testable in PhantomJS + if (!hiddenCheckEnabled && '0' === messageData[dimension]) { + hiddenCheckEnabled = true + log(iframeId, 'Hidden iFrame detected, creating visibility listener') + fixHiddenIFrames() + } + } + + function processDimension(dimension) { + setDimension(dimension) + chkZero(dimension) + } + + var iframeId = messageData.iframe.id + + if (settings[iframeId]) { + if (settings[iframeId].sizeHeight) { + processDimension('height') + } + if (settings[iframeId].sizeWidth) { + processDimension('width') + } + } + } + + function syncResize(func, messageData, doNotSync) { + /* istanbul ignore if */ // Not testable in PhantomJS + if (doNotSync !== messageData.type && requestAnimationFrame) { + log(messageData.id, 'Requesting animation frame') + requestAnimationFrame(func) + } else { + func() + } + } + + function trigger(calleeMsg, msg, iframe, id, noResponseWarning) { + function postMessageToIFrame() { + var target = settings[id] && settings[id].targetOrigin + log( + id, + '[' + + calleeMsg + + '] Sending msg to iframe[' + + id + + '] (' + + msg + + ') targetOrigin: ' + + target + ) + iframe.contentWindow.postMessage(msgId + msg, target) + } + + function iFrameNotFound() { + warn(id, '[' + calleeMsg + '] IFrame(' + id + ') not found') + } + + function chkAndSend() { + if ( + iframe && + 'contentWindow' in iframe && + null !== iframe.contentWindow + ) { + // Null test for PhantomJS + postMessageToIFrame() + } else { + iFrameNotFound() + } + } + + function warnOnNoResponse() { + function warning() { + if (settings[id] && !settings[id].loaded && !errorShown) { + errorShown = true + warn( + id, + 'IFrame has not responded within ' + + settings[id].warningTimeout / 1000 + + ' seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning.' + ) + } + } + + if ( + !!noResponseWarning && + settings[id] && + !!settings[id].warningTimeout + ) { + settings[id].msgTimeout = setTimeout( + warning, + settings[id].warningTimeout + ) + } + } + + var errorShown = false + + id = id || iframe.id + + if (settings[id]) { + chkAndSend() + warnOnNoResponse() + } + } + + function createOutgoingMsg(iframeId) { + return ( + iframeId + + ':' + + settings[iframeId].bodyMarginV1 + + ':' + + settings[iframeId].sizeWidth + + ':' + + settings[iframeId].log + + ':' + + settings[iframeId].interval + + ':' + + settings[iframeId].enablePublicMethods + + ':' + + settings[iframeId].autoResize + + ':' + + settings[iframeId].bodyMargin + + ':' + + settings[iframeId].heightCalculationMethod + + ':' + + settings[iframeId].bodyBackground + + ':' + + settings[iframeId].bodyPadding + + ':' + + settings[iframeId].tolerance + + ':' + + settings[iframeId].inPageLinks + + ':' + + settings[iframeId].resizeFrom + + ':' + + settings[iframeId].widthCalculationMethod + ) + } + + function setupIFrame(iframe, options) { + function setLimits() { + function addStyle(style) { + if ( + Infinity !== settings[iframeId][style] && + 0 !== settings[iframeId][style] + ) { + iframe.style[style] = settings[iframeId][style] + 'px' + log( + iframeId, + 'Set ' + style + ' = ' + settings[iframeId][style] + 'px' + ) + } + } + + function chkMinMax(dimension) { + if ( + settings[iframeId]['min' + dimension] > + settings[iframeId]['max' + dimension] + ) { + throw new Error( + 'Value for min' + + dimension + + ' can not be greater than max' + + dimension + ) + } + } + + chkMinMax('Height') + chkMinMax('Width') + + addStyle('maxHeight') + addStyle('minHeight') + addStyle('maxWidth') + addStyle('minWidth') + } + + function newId() { + var id = (options && options.id) || defaults.id + count++ + if (null !== document.getElementById(id)) { + id += count++ + } + return id + } + + function ensureHasId(iframeId) { + if ('' === iframeId) { + // eslint-disable-next-line no-multi-assign + iframe.id = iframeId = newId() + logEnabled = (options || {}).log + log( + iframeId, + 'Added missing iframe ID: ' + iframeId + ' (' + iframe.src + ')' + ) + } + + return iframeId + } + + function setScrolling() { + log( + iframeId, + 'IFrame scrolling ' + + (settings[iframeId] && settings[iframeId].scrolling + ? 'enabled' + : 'disabled') + + ' for ' + + iframeId + ) + iframe.style.overflow = + false === (settings[iframeId] && settings[iframeId].scrolling) + ? 'hidden' + : 'auto' + switch (settings[iframeId] && settings[iframeId].scrolling) { + case 'omit': + break + + case true: + iframe.scrolling = 'yes' + break + + case false: + iframe.scrolling = 'no' + break + + default: + iframe.scrolling = settings[iframeId] + ? settings[iframeId].scrolling + : 'no' + } + } + + // The V1 iFrame script expects an int, where as in V2 expects a CSS + // string value such as '1px 3em', so if we have an int for V2, set V1=V2 + // and then convert V2 to a string PX value. + function setupBodyMarginValues() { + if ( + 'number' === + typeof (settings[iframeId] && settings[iframeId].bodyMargin) || + '0' === (settings[iframeId] && settings[iframeId].bodyMargin) + ) { + settings[iframeId].bodyMarginV1 = settings[iframeId].bodyMargin + settings[iframeId].bodyMargin = + '' + settings[iframeId].bodyMargin + 'px' + } + } + + function checkReset() { + // Reduce scope of firstRun to function, because IE8's JS execution + // context stack is borked and this value gets externally + // changed midway through running this function!!! + var firstRun = settings[iframeId] && settings[iframeId].firstRun, + resetRequertMethod = + settings[iframeId] && + settings[iframeId].heightCalculationMethod in resetRequiredMethods + + if (!firstRun && resetRequertMethod) { + resetIFrame({ iframe: iframe, height: 0, width: 0, type: 'init' }) + } + } + + function setupIFrameObject() { + if (settings[iframeId]) { + settings[iframeId].iframe.iFrameResizer = { + close: closeIFrame.bind(null, settings[iframeId].iframe), + + removeListeners: removeIframeListeners.bind( + null, + settings[iframeId].iframe + ), + + resize: trigger.bind( + null, + 'Window resize', + 'resize', + settings[iframeId].iframe + ), + + moveToAnchor: function(anchor) { + trigger( + 'Move to anchor', + 'moveToAnchor:' + anchor, + settings[iframeId].iframe, + iframeId + ) + }, + + sendMessage: function(message) { + message = JSON.stringify(message) + trigger( + 'Send Message', + 'message:' + message, + settings[iframeId].iframe, + iframeId + ) + } + } + } + } + + // We have to call trigger twice, as we can not be sure if all + // iframes have completed loading when this code runs. The + // event listener also catches the page changing in the iFrame. + function init(msg) { + function iFrameLoaded() { + trigger('iFrame.onload', msg, iframe, undefined, true) + checkReset() + } + + function createDestroyObserver(MutationObserver) { + if (!iframe.parentNode) { + return + } + + var destroyObserver = new MutationObserver(function(mutations) { + mutations.forEach(function(mutation) { + var removedNodes = Array.prototype.slice.call(mutation.removedNodes) // Transform NodeList into an Array + removedNodes.forEach(function(removedNode) { + if (removedNode === iframe) { + closeIFrame(iframe) + } + }) + }) + }) + destroyObserver.observe(iframe.parentNode, { + childList: true + }) + } + + var MutationObserver = getMutationObserver() + if (MutationObserver) { + createDestroyObserver(MutationObserver) + } + + addEventListener(iframe, 'load', iFrameLoaded) + trigger('init', msg, iframe, undefined, true) + } + + function checkOptions(options) { + if ('object' !== typeof options) { + throw new TypeError('Options is not an object') + } + } + + function copyOptions(options) { + // eslint-disable-next-line no-restricted-syntax + for (var option in defaults) { + if (Object.prototype.hasOwnProperty.call(defaults, option)) { + settings[iframeId][option] = Object.prototype.hasOwnProperty.call( + options, + option + ) + ? options[option] + : defaults[option] + } + } + } + + function getTargetOrigin(remoteHost) { + return '' === remoteHost || 'file://' === remoteHost ? '*' : remoteHost + } + + function depricate(key) { + var splitName = key.split('Callback') + + if (splitName.length === 2) { + var name = + 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1) + this[name] = this[key] + delete this[key] + warn( + iframeId, + "Deprecated: '" + + key + + "' has been renamed '" + + name + + "'. The old method will be removed in the next major version." + ) + } + } + + function processOptions(options) { + options = options || {} + settings[iframeId] = { + firstRun: true, + iframe: iframe, + remoteHost: iframe.src + .split('/') + .slice(0, 3) + .join('/') + } + + checkOptions(options) + Object.keys(options).forEach(depricate, options) + copyOptions(options) + + if (settings[iframeId]) { + settings[iframeId].targetOrigin = + true === settings[iframeId].checkOrigin + ? getTargetOrigin(settings[iframeId].remoteHost) + : '*' + } + } + + function beenHere() { + return iframeId in settings && 'iFrameResizer' in iframe + } + + var iframeId = ensureHasId(iframe.id) + + if (!beenHere()) { + processOptions(options) + setScrolling() + setLimits() + setupBodyMarginValues() + init(createOutgoingMsg(iframeId)) + setupIFrameObject() + } else { + warn(iframeId, 'Ignored iFrame, already setup.') + } + } + + function debouce(fn, time) { + if (null === timer) { + timer = setTimeout(function() { + timer = null + fn() + }, time) + } + } + + var frameTimer = {} + function debounceFrameEvents(fn, time, frameId) { + if (!frameTimer[frameId]) { + frameTimer[frameId] = setTimeout(function() { + frameTimer[frameId] = null + fn() + }, time) + } + } + + // Not testable in PhantomJS + /* istanbul ignore next */ + + function fixHiddenIFrames() { + function checkIFrames() { + function checkIFrame(settingId) { + function chkDimension(dimension) { + return ( + '0px' === + (settings[settingId] && settings[settingId].iframe.style[dimension]) + ) + } + + function isVisible(el) { + return null !== el.offsetParent + } + + if ( + settings[settingId] && + isVisible(settings[settingId].iframe) && + (chkDimension('height') || chkDimension('width')) + ) { + trigger( + 'Visibility change', + 'resize', + settings[settingId].iframe, + settingId + ) + } + } + + Object.keys(settings).forEach(function(key) { + checkIFrame(settings[key]) + }) + } + + function mutationObserved(mutations) { + log( + 'window', + 'Mutation observed: ' + mutations[0].target + ' ' + mutations[0].type + ) + debouce(checkIFrames, 16) + } + + function createMutationObserver() { + var target = document.querySelector('body'), + config = { + attributes: true, + attributeOldValue: false, + characterData: true, + characterDataOldValue: false, + childList: true, + subtree: true + }, + observer = new MutationObserver(mutationObserved) + + observer.observe(target, config) + } + + var MutationObserver = getMutationObserver() + if (MutationObserver) { + createMutationObserver() + } + } + + function resizeIFrames(event) { + function resize() { + sendTriggerMsg('Window ' + event, 'resize') + } + + log('window', 'Trigger event: ' + event) + debouce(resize, 16) + } + + // Not testable in PhantomJS + /* istanbul ignore next */ + function tabVisible() { + function resize() { + sendTriggerMsg('Tab Visable', 'resize') + } + + if ('hidden' !== document.visibilityState) { + log('document', 'Trigger event: Visiblity change') + debouce(resize, 16) + } + } + + function sendTriggerMsg(eventName, event) { + function isIFrameResizeEnabled(iframeId) { + return ( + settings[iframeId] && + 'parent' === settings[iframeId].resizeFrom && + settings[iframeId].autoResize && + !settings[iframeId].firstRun + ) + } + + Object.keys(settings).forEach(function(iframeId) { + if (isIFrameResizeEnabled(iframeId)) { + trigger(eventName, event, document.getElementById(iframeId), iframeId) + } + }) + } + + function setupEventListeners() { + addEventListener(window, 'message', iFrameListener) + + addEventListener(window, 'resize', function() { + resizeIFrames('resize') + }) + + addEventListener(document, 'visibilitychange', tabVisible) + + addEventListener(document, '-webkit-visibilitychange', tabVisible) + } + + function factory() { + function init(options, element) { + function chkType() { + if (!element.tagName) { + throw new TypeError('Object is not a valid DOM element') + } else if ('IFRAME' !== element.tagName.toUpperCase()) { + throw new TypeError( + 'Expected ') !== -1; + }; + var createFragmentedLevel = function (fragments) { + return { + type: 'fragmented', + fragments: fragments, + content: '', + bookmark: null, + beforeBookmark: null + }; + }; + var createCompleteLevel = function (content) { + return { + type: 'complete', + fragments: null, + content: content, + bookmark: null, + beforeBookmark: null + }; + }; + var createFromEditor = function (editor) { + var fragments, content, trimmedFragments; + fragments = Fragments.read(editor.getBody()); + trimmedFragments = bind(fragments, function (html) { + var trimmed = TrimHtml.trimInternal(editor.serializer, html); + return trimmed.length > 0 ? [trimmed] : []; + }); + content = trimmedFragments.join(''); + return hasIframes(content) ? createFragmentedLevel(trimmedFragments) : createCompleteLevel(content); + }; + var applyToEditor = function (editor, level, before) { + if (level.type === 'fragmented') { + Fragments.write(level.fragments, editor.getBody()); + } else { + editor.setContent(level.content, { format: 'raw' }); + } + editor.selection.moveToBookmark(before ? level.beforeBookmark : level.bookmark); + }; + var getLevelContent = function (level) { + return level.type === 'fragmented' ? level.fragments.join('') : level.content; + }; + var getCleanLevelContent = function (level) { + var elm = Element.fromTag('body', lazyTempDocument()); + set$1(elm, getLevelContent(level)); + each(descendants$1(elm, '*[data-mce-bogus]'), unwrap); + return get$5(elm); + }; + var hasEqualContent = function (level1, level2) { + return getLevelContent(level1) === getLevelContent(level2); + }; + var hasEqualCleanedContent = function (level1, level2) { + return getCleanLevelContent(level1) === getCleanLevelContent(level2); + }; + var isEq$2 = function (level1, level2) { + if (!level1 || !level2) { + return false; + } else if (hasEqualContent(level1, level2)) { + return true; + } else { + return hasEqualCleanedContent(level1, level2); + } + }; + var Levels = { + createFragmentedLevel: createFragmentedLevel, + createCompleteLevel: createCompleteLevel, + createFromEditor: createFromEditor, + applyToEditor: applyToEditor, + isEq: isEq$2 + }; + + var isUnlocked = function (locks) { + return locks.get() === 0; + }; + + var setTyping = function (undoManager, typing, locks) { + if (isUnlocked(locks)) { + undoManager.typing = typing; + } + }; + var endTyping = function (undoManager, locks) { + if (undoManager.typing) { + setTyping(undoManager, false, locks); + undoManager.add(); + } + }; + var endTypingLevelIgnoreLocks = function (undoManager) { + if (undoManager.typing) { + undoManager.typing = false; + undoManager.add(); + } + }; + + var beforeChange = function (editor, locks, beforeBookmark) { + if (isUnlocked(locks)) { + beforeBookmark.set(Option.some(GetBookmark.getUndoBookmark(editor.selection))); + } + }; + var addUndoLevel = function (editor, undoManager, index, locks, beforeBookmark, level, event) { + var settings = editor.settings; + var currentLevel = Levels.createFromEditor(editor); + level = level || {}; + level = Tools.extend(level, currentLevel); + if (isUnlocked(locks) === false || editor.removed) { + return null; + } + var lastLevel = undoManager.data[index.get()]; + if (editor.fire('BeforeAddUndo', { + level: level, + lastLevel: lastLevel, + originalEvent: event + }).isDefaultPrevented()) { + return null; + } + if (lastLevel && Levels.isEq(lastLevel, level)) { + return null; + } + if (undoManager.data[index.get()]) { + beforeBookmark.get().each(function (bm) { + undoManager.data[index.get()].beforeBookmark = bm; + }); + } + if (settings.custom_undo_redo_levels) { + if (undoManager.data.length > settings.custom_undo_redo_levels) { + for (var i = 0; i < undoManager.data.length - 1; i++) { + undoManager.data[i] = undoManager.data[i + 1]; + } + undoManager.data.length--; + index.set(undoManager.data.length); + } + } + level.bookmark = GetBookmark.getUndoBookmark(editor.selection); + if (index.get() < undoManager.data.length - 1) { + undoManager.data.length = index.get() + 1; + } + undoManager.data.push(level); + index.set(undoManager.data.length - 1); + var args = { + level: level, + lastLevel: lastLevel, + originalEvent: event + }; + editor.fire('AddUndo', args); + if (index.get() > 0) { + editor.setDirty(true); + editor.fire('change', args); + } + return level; + }; + var clear = function (editor, undoManager, index) { + undoManager.data = []; + index.set(0); + undoManager.typing = false; + editor.fire('ClearUndos'); + }; + var extra = function (editor, undoManager, index, callback1, callback2) { + if (undoManager.transact(callback1)) { + var bookmark = undoManager.data[index.get()].bookmark; + var lastLevel = undoManager.data[index.get() - 1]; + Levels.applyToEditor(editor, lastLevel, true); + if (undoManager.transact(callback2)) { + undoManager.data[index.get() - 1].beforeBookmark = bookmark; + } + } + }; + var redo = function (editor, index, data) { + var level; + if (index.get() < data.length - 1) { + index.set(index.get() + 1); + level = data[index.get()]; + Levels.applyToEditor(editor, level, false); + editor.setDirty(true); + editor.fire('Redo', { level: level }); + } + return level; + }; + var undo = function (editor, undoManager, locks, index) { + var level; + if (undoManager.typing) { + undoManager.add(); + undoManager.typing = false; + setTyping(undoManager, false, locks); + } + if (index.get() > 0) { + index.set(index.get() - 1); + level = undoManager.data[index.get()]; + Levels.applyToEditor(editor, level, true); + editor.setDirty(true); + editor.fire('Undo', { level: level }); + } + return level; + }; + var reset = function (undoManager) { + undoManager.clear(); + undoManager.add(); + }; + var hasUndo = function (editor, undoManager, index) { + return index.get() > 0 || undoManager.typing && undoManager.data[0] && !Levels.isEq(Levels.createFromEditor(editor), undoManager.data[0]); + }; + var hasRedo = function (undoManager, index) { + return index.get() < undoManager.data.length - 1 && !undoManager.typing; + }; + var transact = function (undoManager, locks, callback) { + endTyping(undoManager, locks); + undoManager.beforeChange(); + undoManager.ignore(callback); + return undoManager.add(); + }; + var ignore = function (locks, callback) { + try { + locks.set(locks.get() + 1); + callback(); + } finally { + locks.set(locks.get() - 1); + } + }; + + var registerEvents$1 = function (editor, undoManager, locks) { + var isFirstTypedCharacter = Cell(false); + var addNonTypingUndoLevel = function (e) { + setTyping(undoManager, false, locks); + undoManager.add({}, e); + }; + editor.on('init', function () { + undoManager.add(); + }); + editor.on('BeforeExecCommand', function (e) { + var cmd = e.command; + if (cmd !== 'Undo' && cmd !== 'Redo' && cmd !== 'mceRepaint') { + endTyping(undoManager, locks); + undoManager.beforeChange(); + } + }); + editor.on('ExecCommand', function (e) { + var cmd = e.command; + if (cmd !== 'Undo' && cmd !== 'Redo' && cmd !== 'mceRepaint') { + addNonTypingUndoLevel(e); + } + }); + editor.on('ObjectResizeStart cut', function () { + undoManager.beforeChange(); + }); + editor.on('SaveContent ObjectResized blur', addNonTypingUndoLevel); + editor.on('dragend', addNonTypingUndoLevel); + editor.on('keyup', function (e) { + var keyCode = e.keyCode; + if (e.isDefaultPrevented()) { + return; + } + if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45 || e.ctrlKey) { + addNonTypingUndoLevel(); + editor.nodeChanged(); + } + if (keyCode === 46 || keyCode === 8) { + editor.nodeChanged(); + } + if (isFirstTypedCharacter.get() && undoManager.typing && Levels.isEq(Levels.createFromEditor(editor), undoManager.data[0]) === false) { + if (editor.isDirty() === false) { + editor.setDirty(true); + editor.fire('change', { + level: undoManager.data[0], + lastLevel: null + }); + } + editor.fire('TypingUndo'); + isFirstTypedCharacter.set(false); + editor.nodeChanged(); + } + }); + editor.on('keydown', function (e) { + var keyCode = e.keyCode; + if (e.isDefaultPrevented()) { + return; + } + if (keyCode >= 33 && keyCode <= 36 || keyCode >= 37 && keyCode <= 40 || keyCode === 45) { + if (undoManager.typing) { + addNonTypingUndoLevel(e); + } + return; + } + var modKey = e.ctrlKey && !e.altKey || e.metaKey; + if ((keyCode < 16 || keyCode > 20) && keyCode !== 224 && keyCode !== 91 && !undoManager.typing && !modKey) { + undoManager.beforeChange(); + setTyping(undoManager, true, locks); + undoManager.add({}, e); + isFirstTypedCharacter.set(true); + } + }); + editor.on('mousedown', function (e) { + if (undoManager.typing) { + addNonTypingUndoLevel(e); + } + }); + var isInsertReplacementText = function (event) { + return event.inputType === 'insertReplacementText'; + }; + var isInsertTextDataNull = function (event) { + return event.inputType === 'insertText' && event.data === null; + }; + editor.on('input', function (e) { + if (e.inputType && (isInsertReplacementText(e) || isInsertTextDataNull(e))) { + addNonTypingUndoLevel(e); + } + }); + editor.on('AddUndo Undo Redo ClearUndos', function (e) { + if (!e.isDefaultPrevented()) { + editor.nodeChanged(); + } + }); + }; + var addKeyboardShortcuts = function (editor) { + editor.addShortcut('meta+z', '', 'Undo'); + editor.addShortcut('meta+y,meta+shift+z', '', 'Redo'); + }; + + var UndoManager = function (editor) { + var beforeBookmark = Cell(Option.none()); + var locks = Cell(0); + var index = Cell(0); + var undoManager = { + data: [], + typing: false, + beforeChange: function () { + beforeChange(editor, locks, beforeBookmark); + }, + add: function (level, event) { + return addUndoLevel(editor, undoManager, index, locks, beforeBookmark, level, event); + }, + undo: function () { + return undo(editor, undoManager, locks, index); + }, + redo: function () { + return redo(editor, index, undoManager.data); + }, + clear: function () { + clear(editor, undoManager, index); + }, + reset: function () { + reset(undoManager); + }, + hasUndo: function () { + return hasUndo(editor, undoManager, index); + }, + hasRedo: function () { + return hasRedo(undoManager, index); + }, + transact: function (callback) { + return transact(undoManager, locks, callback); + }, + ignore: function (callback) { + ignore(locks, callback); + }, + extra: function (callback1, callback2) { + extra(editor, undoManager, index, callback1, callback2); + } + }; + registerEvents$1(editor, undoManager, locks); + addKeyboardShortcuts(editor); + return undoManager; + }; + + var getLastChildren$1 = function (elm) { + var children = []; + var rawNode = elm.dom(); + while (rawNode) { + children.push(Element.fromDom(rawNode)); + rawNode = rawNode.lastChild; + } + return children; + }; + var removeTrailingBr = function (elm) { + var allBrs = descendants$1(elm, 'br'); + var brs = filter(getLastChildren$1(elm).slice(-1), isBr$1); + if (allBrs.length === brs.length) { + each(brs, remove$1); + } + }; + var fillWithPaddingBr = function (elm) { + empty(elm); + append(elm, Element.fromHtml('
')); + }; + var isPaddingContents = function (elm) { + return isText$1(elm) ? get$6(elm) === '\xA0' : isBr$1(elm); + }; + var isPaddedElement = function (elm) { + return filter(children(elm), isPaddingContents).length === 1; + }; + var trimBlockTrailingBr = function (elm) { + lastChild(elm).each(function (lastChild) { + prevSibling(lastChild).each(function (lastChildPrevSibling) { + if (isBlock(elm) && isBr$1(lastChild) && isBlock(lastChildPrevSibling)) { + remove$1(lastChild); + } + }); + }); + }; + var PaddingBr = { + removeTrailingBr: removeTrailingBr, + fillWithPaddingBr: fillWithPaddingBr, + isPaddedElement: isPaddedElement, + trimBlockTrailingBr: trimBlockTrailingBr + }; + + var isEq$3 = FormatUtils.isEq; + var matchesUnInheritedFormatSelector = function (ed, node, name) { + var formatList = ed.formatter.get(name); + if (formatList) { + for (var i = 0; i < formatList.length; i++) { + if (formatList[i].inherit === false && ed.dom.is(node, formatList[i].selector)) { + return true; + } + } + } + return false; + }; + var matchParents = function (editor, node, name, vars) { + var root = editor.dom.getRoot(); + if (node === root) { + return false; + } + node = editor.dom.getParent(node, function (node) { + if (matchesUnInheritedFormatSelector(editor, node, name)) { + return true; + } + return node.parentNode === root || !!matchNode(editor, node, name, vars, true); + }); + return matchNode(editor, node, name, vars); + }; + var matchName = function (dom, node, format) { + if (isEq$3(node, format.inline)) { + return true; + } + if (isEq$3(node, format.block)) { + return true; + } + if (format.selector) { + return node.nodeType === 1 && dom.is(node, format.selector); + } + }; + var matchItems = function (dom, node, format, itemName, similar, vars) { + var key, value; + var items = format[itemName]; + var i; + if (format.onmatch) { + return format.onmatch(node, format, itemName); + } + if (items) { + if (typeof items.length === 'undefined') { + for (key in items) { + if (items.hasOwnProperty(key)) { + if (itemName === 'attributes') { + value = dom.getAttrib(node, key); + } else { + value = FormatUtils.getStyle(dom, node, key); + } + if (similar && !value && !format.exact) { + return; + } + if ((!similar || format.exact) && !isEq$3(value, FormatUtils.normalizeStyleValue(dom, FormatUtils.replaceVars(items[key], vars), key))) { + return; + } + } + } + } else { + for (i = 0; i < items.length; i++) { + if (itemName === 'attributes' ? dom.getAttrib(node, items[i]) : FormatUtils.getStyle(dom, node, items[i])) { + return format; + } + } + } + } + return format; + }; + var matchNode = function (ed, node, name, vars, similar) { + var formatList = ed.formatter.get(name); + var format, i, x, classes; + var dom = ed.dom; + if (formatList && node) { + for (i = 0; i < formatList.length; i++) { + format = formatList[i]; + if (matchName(ed.dom, node, format) && matchItems(dom, node, format, 'attributes', similar, vars) && matchItems(dom, node, format, 'styles', similar, vars)) { + if (classes = format.classes) { + for (x = 0; x < classes.length; x++) { + if (!ed.dom.hasClass(node, classes[x])) { + return; + } + } + } + return format; + } + } + } + }; + var match = function (editor, name, vars, node) { + var startNode; + if (node) { + return matchParents(editor, node, name, vars); + } + node = editor.selection.getNode(); + if (matchParents(editor, node, name, vars)) { + return true; + } + startNode = editor.selection.getStart(); + if (startNode !== node) { + if (matchParents(editor, startNode, name, vars)) { + return true; + } + } + return false; + }; + var matchAll = function (editor, names, vars) { + var startElement; + var matchedFormatNames = []; + var checkedMap = {}; + startElement = editor.selection.getStart(); + editor.dom.getParent(startElement, function (node) { + var i, name; + for (i = 0; i < names.length; i++) { + name = names[i]; + if (!checkedMap[name] && matchNode(editor, node, name, vars)) { + checkedMap[name] = true; + matchedFormatNames.push(name); + } + } + }, editor.dom.getRoot()); + return matchedFormatNames; + }; + var canApply = function (editor, name) { + var formatList = editor.formatter.get(name); + var startNode, parents, i, x, selector; + var dom = editor.dom; + if (formatList) { + startNode = editor.selection.getStart(); + parents = FormatUtils.getParents(dom, startNode); + for (x = formatList.length - 1; x >= 0; x--) { + selector = formatList[x].selector; + if (!selector || formatList[x].defaultBlock) { + return true; + } + for (i = parents.length - 1; i >= 0; i--) { + if (dom.is(parents[i], selector)) { + return true; + } + } + } + } + return false; + }; + var MatchFormat = { + matchNode: matchNode, + matchName: matchName, + match: match, + matchAll: matchAll, + canApply: canApply, + matchesUnInheritedFormatSelector: matchesUnInheritedFormatSelector + }; + + var splitText = function (node, offset) { + return node.splitText(offset); + }; + var split$1 = function (rng) { + var startContainer = rng.startContainer, startOffset = rng.startOffset, endContainer = rng.endContainer, endOffset = rng.endOffset; + if (startContainer === endContainer && NodeType.isText(startContainer)) { + if (startOffset > 0 && startOffset < startContainer.nodeValue.length) { + endContainer = splitText(startContainer, startOffset); + startContainer = endContainer.previousSibling; + if (endOffset > startOffset) { + endOffset = endOffset - startOffset; + startContainer = endContainer = splitText(endContainer, endOffset).previousSibling; + endOffset = endContainer.nodeValue.length; + startOffset = 0; + } else { + endOffset = 0; + } + } + } else { + if (NodeType.isText(startContainer) && startOffset > 0 && startOffset < startContainer.nodeValue.length) { + startContainer = splitText(startContainer, startOffset); + startOffset = 0; + } + if (NodeType.isText(endContainer) && endOffset > 0 && endOffset < endContainer.nodeValue.length) { + endContainer = splitText(endContainer, endOffset).previousSibling; + endOffset = endContainer.nodeValue.length; + } + } + return { + startContainer: startContainer, + startOffset: startOffset, + endContainer: endContainer, + endOffset: endOffset + }; + }; + + var isCollapsibleWhitespace = function (c) { + return ' \f\n\r\t\x0B'.indexOf(c) !== -1; + }; + var normalizeContent = function (content, isStartOfContent, isEndOfContent) { + var result = foldl(content, function (acc, c) { + if (isCollapsibleWhitespace(c) || c === '\xA0') { + if (acc.previousCharIsSpace || acc.str === '' && isStartOfContent || acc.str.length === content.length - 1 && isEndOfContent) { + return { + previousCharIsSpace: false, + str: acc.str + '\xA0' + }; + } else { + return { + previousCharIsSpace: true, + str: acc.str + ' ' + }; + } + } else { + return { + previousCharIsSpace: false, + str: acc.str + c + }; + } + }, { + previousCharIsSpace: false, + str: '' + }); + return result.str; + }; + var normalize = function (node, offset, count) { + if (count === 0) { + return; + } + var whitespace = node.data.slice(offset, offset + count); + var isEndOfContent = offset + count >= node.data.length; + var isStartOfContent = offset === 0; + node.replaceData(offset, count, normalizeContent(whitespace, isStartOfContent, isEndOfContent)); + }; + var normalizeWhitespaceAfter = function (node, offset) { + var content = node.data.slice(offset); + var whitespaceCount = content.length - lTrim(content).length; + return normalize(node, offset, whitespaceCount); + }; + var normalizeWhitespaceBefore = function (node, offset) { + var content = node.data.slice(0, offset); + var whitespaceCount = content.length - rTrim(content).length; + return normalize(node, offset - whitespaceCount, whitespaceCount); + }; + var mergeTextNodes = function (prevNode, nextNode, normalizeWhitespace) { + var whitespaceOffset = rTrim(prevNode.data).length; + prevNode.appendData(nextNode.data); + remove$1(Element.fromDom(nextNode)); + if (normalizeWhitespace) { + normalizeWhitespaceAfter(prevNode, whitespaceOffset); + } + return prevNode; + }; + + var ancestor$2 = function (scope, selector, isRoot) { + return ancestor$1(scope, selector, isRoot).isSome(); + }; + + var hasWhitespacePreserveParent = function (rootNode, node) { + var rootElement = Element.fromDom(rootNode); + var startNode = Element.fromDom(node); + return ancestor$2(startNode, 'pre,code', curry(eq, rootElement)); + }; + var isWhitespace = function (rootNode, node) { + return NodeType.isText(node) && /^[ \t\r\n]*$/.test(node.data) && hasWhitespacePreserveParent(rootNode, node) === false; + }; + var isNamedAnchor = function (node) { + return NodeType.isElement(node) && node.nodeName === 'A' && node.hasAttribute('name'); + }; + var isContent$1 = function (rootNode, node) { + return isCaretCandidate(node) && isWhitespace(rootNode, node) === false || isNamedAnchor(node) || isBookmark(node); + }; + var isBookmark = NodeType.hasAttribute('data-mce-bookmark'); + var isBogus$2 = NodeType.hasAttribute('data-mce-bogus'); + var isBogusAll$1 = NodeType.hasAttributeValue('data-mce-bogus', 'all'); + var isEmptyNode = function (targetNode) { + var node, brCount = 0; + if (isContent$1(targetNode, targetNode)) { + return false; + } else { + node = targetNode.firstChild; + if (!node) { + return true; + } + var walker = new TreeWalker(node, targetNode); + do { + if (isBogusAll$1(node)) { + node = walker.next(true); + continue; + } + if (isBogus$2(node)) { + node = walker.next(); + continue; + } + if (NodeType.isBr(node)) { + brCount++; + node = walker.next(); + continue; + } + if (isContent$1(targetNode, node)) { + return false; + } + node = walker.next(); + } while (node); + return brCount <= 1; + } + }; + var isEmpty$1 = function (elm) { + return isEmptyNode(elm.dom()); + }; + var Empty = { isEmpty: isEmpty$1 }; + + var needsReposition = function (pos, elm) { + var container = pos.container(); + var offset = pos.offset(); + return CaretPosition$1.isTextPosition(pos) === false && container === elm.parentNode && offset > CaretPosition$1.before(elm).offset(); + }; + var reposition = function (elm, pos) { + return needsReposition(pos, elm) ? CaretPosition$1(pos.container(), pos.offset() - 1) : pos; + }; + var beforeOrStartOf = function (node) { + return NodeType.isText(node) ? CaretPosition$1(node, 0) : CaretPosition$1.before(node); + }; + var afterOrEndOf = function (node) { + return NodeType.isText(node) ? CaretPosition$1(node, node.data.length) : CaretPosition$1.after(node); + }; + var getPreviousSiblingCaretPosition = function (elm) { + if (isCaretCandidate(elm.previousSibling)) { + return Option.some(afterOrEndOf(elm.previousSibling)); + } else { + return elm.previousSibling ? CaretFinder.lastPositionIn(elm.previousSibling) : Option.none(); + } + }; + var getNextSiblingCaretPosition = function (elm) { + if (isCaretCandidate(elm.nextSibling)) { + return Option.some(beforeOrStartOf(elm.nextSibling)); + } else { + return elm.nextSibling ? CaretFinder.firstPositionIn(elm.nextSibling) : Option.none(); + } + }; + var findCaretPositionBackwardsFromElm = function (rootElement, elm) { + var startPosition = CaretPosition$1.before(elm.previousSibling ? elm.previousSibling : elm.parentNode); + return CaretFinder.prevPosition(rootElement, startPosition).fold(function () { + return CaretFinder.nextPosition(rootElement, CaretPosition$1.after(elm)); + }, Option.some); + }; + var findCaretPositionForwardsFromElm = function (rootElement, elm) { + return CaretFinder.nextPosition(rootElement, CaretPosition$1.after(elm)).fold(function () { + return CaretFinder.prevPosition(rootElement, CaretPosition$1.before(elm)); + }, Option.some); + }; + var findCaretPositionBackwards = function (rootElement, elm) { + return getPreviousSiblingCaretPosition(elm).orThunk(function () { + return getNextSiblingCaretPosition(elm); + }).orThunk(function () { + return findCaretPositionBackwardsFromElm(rootElement, elm); + }); + }; + var findCaretPositionForward = function (rootElement, elm) { + return getNextSiblingCaretPosition(elm).orThunk(function () { + return getPreviousSiblingCaretPosition(elm); + }).orThunk(function () { + return findCaretPositionForwardsFromElm(rootElement, elm); + }); + }; + var findCaretPosition$1 = function (forward, rootElement, elm) { + return forward ? findCaretPositionForward(rootElement, elm) : findCaretPositionBackwards(rootElement, elm); + }; + var findCaretPosOutsideElmAfterDelete = function (forward, rootElement, elm) { + return findCaretPosition$1(forward, rootElement, elm).map(curry(reposition, elm)); + }; + var setSelection = function (editor, forward, pos) { + pos.fold(function () { + editor.focus(); + }, function (pos) { + editor.selection.setRng(pos.toRange(), forward); + }); + }; + var eqRawNode = function (rawNode) { + return function (elm) { + return elm.dom() === rawNode; + }; + }; + var isBlock$2 = function (editor, elm) { + return elm && editor.schema.getBlockElements().hasOwnProperty(name(elm)); + }; + var paddEmptyBlock = function (elm) { + if (Empty.isEmpty(elm)) { + var br = Element.fromHtml('
'); + empty(elm); + append(elm, br); + return Option.some(CaretPosition$1.before(br.dom())); + } else { + return Option.none(); + } + }; + var deleteNormalized = function (elm, afterDeletePosOpt, normalizeWhitespace) { + var prevTextOpt = prevSibling(elm).filter(isText$1); + var nextTextOpt = nextSibling(elm).filter(isText$1); + remove$1(elm); + return lift3(prevTextOpt, nextTextOpt, afterDeletePosOpt, function (prev, next, pos) { + var prevNode = prev.dom(), nextNode = next.dom(); + var offset = prevNode.data.length; + mergeTextNodes(prevNode, nextNode, normalizeWhitespace); + return pos.container() === nextNode ? CaretPosition$1(prevNode, offset) : pos; + }).orThunk(function () { + if (normalizeWhitespace) { + prevTextOpt.each(function (elm) { + return normalizeWhitespaceBefore(elm.dom(), elm.dom().length); + }); + nextTextOpt.each(function (elm) { + return normalizeWhitespaceAfter(elm.dom(), 0); + }); + } + return afterDeletePosOpt; + }); + }; + var isInlineElement = function (editor, element) { + return has(editor.schema.getTextInlineElements(), name(element)); + }; + var deleteElement = function (editor, forward, elm, moveCaret) { + if (moveCaret === void 0) { + moveCaret = true; + } + var afterDeletePos = findCaretPosOutsideElmAfterDelete(forward, editor.getBody(), elm.dom()); + var parentBlock = ancestor(elm, curry(isBlock$2, editor), eqRawNode(editor.getBody())); + var normalizedAfterDeletePos = deleteNormalized(elm, afterDeletePos, isInlineElement(editor, elm)); + if (editor.dom.isEmpty(editor.getBody())) { + editor.setContent(''); + editor.selection.setCursorLocation(); + } else { + parentBlock.bind(paddEmptyBlock).fold(function () { + if (moveCaret) { + setSelection(editor, forward, normalizedAfterDeletePos); + } + }, function (paddPos) { + if (moveCaret) { + setSelection(editor, forward, Option.some(paddPos)); + } + }); + } + }; + var DeleteElement = { deleteElement: deleteElement }; + + var ZWSP$1 = Zwsp.ZWSP, CARET_ID$1 = '_mce_caret'; + var importNode = function (ownerDocument, node) { + return ownerDocument.importNode(node, true); + }; + var getEmptyCaretContainers = function (node) { + var nodes = []; + while (node) { + if (node.nodeType === 3 && node.nodeValue !== ZWSP$1 || node.childNodes.length > 1) { + return []; + } + if (node.nodeType === 1) { + nodes.push(node); + } + node = node.firstChild; + } + return nodes; + }; + var isCaretContainerEmpty = function (node) { + return getEmptyCaretContainers(node).length > 0; + }; + var findFirstTextNode = function (node) { + if (node) { + var walker = new TreeWalker(node, node); + for (node = walker.current(); node; node = walker.next()) { + if (node.nodeType === 3) { + return node; + } + } + } + return null; + }; + var createCaretContainer = function (fill) { + var caretContainer = Element.fromTag('span'); + setAll(caretContainer, { + 'id': CARET_ID$1, + 'data-mce-bogus': '1', + 'data-mce-type': 'format-caret' + }); + if (fill) { + append(caretContainer, Element.fromText(ZWSP$1)); + } + return caretContainer; + }; + var trimZwspFromCaretContainer = function (caretContainerNode) { + var textNode = findFirstTextNode(caretContainerNode); + if (textNode && textNode.nodeValue.charAt(0) === ZWSP$1) { + textNode.deleteData(0, 1); + } + return textNode; + }; + var removeCaretContainerNode = function (editor, node, moveCaret) { + if (moveCaret === void 0) { + moveCaret = true; + } + var dom = editor.dom, selection = editor.selection; + if (isCaretContainerEmpty(node)) { + DeleteElement.deleteElement(editor, false, Element.fromDom(node), moveCaret); + } else { + var rng = selection.getRng(); + var block = dom.getParent(node, dom.isBlock); + var textNode = trimZwspFromCaretContainer(node); + if (rng.startContainer === textNode && rng.startOffset > 0) { + rng.setStart(textNode, rng.startOffset - 1); + } + if (rng.endContainer === textNode && rng.endOffset > 0) { + rng.setEnd(textNode, rng.endOffset - 1); + } + dom.remove(node, true); + if (block && dom.isEmpty(block)) { + PaddingBr.fillWithPaddingBr(Element.fromDom(block)); + } + selection.setRng(rng); + } + }; + var removeCaretContainer = function (editor, node, moveCaret) { + if (moveCaret === void 0) { + moveCaret = true; + } + var dom = editor.dom, selection = editor.selection; + if (!node) { + node = getParentCaretContainer(editor.getBody(), selection.getStart()); + if (!node) { + while (node = dom.get(CARET_ID$1)) { + removeCaretContainerNode(editor, node, false); + } + } + } else { + removeCaretContainerNode(editor, node, moveCaret); + } + }; + var insertCaretContainerNode = function (editor, caretContainer, formatNode) { + var dom = editor.dom, block = dom.getParent(formatNode, curry(FormatUtils.isTextBlock, editor)); + if (block && dom.isEmpty(block)) { + formatNode.parentNode.replaceChild(caretContainer, formatNode); + } else { + PaddingBr.removeTrailingBr(Element.fromDom(formatNode)); + if (dom.isEmpty(formatNode)) { + formatNode.parentNode.replaceChild(caretContainer, formatNode); + } else { + dom.insertAfter(caretContainer, formatNode); + } + } + }; + var appendNode = function (parentNode, node) { + parentNode.appendChild(node); + return node; + }; + var insertFormatNodesIntoCaretContainer = function (formatNodes, caretContainer) { + var innerMostFormatNode = foldr(formatNodes, function (parentNode, formatNode) { + return appendNode(parentNode, formatNode.cloneNode(false)); + }, caretContainer); + return appendNode(innerMostFormatNode, innerMostFormatNode.ownerDocument.createTextNode(ZWSP$1)); + }; + var applyCaretFormat = function (editor, name, vars) { + var rng, caretContainer, textNode, offset, bookmark, container, text; + var selection = editor.selection; + rng = selection.getRng(); + offset = rng.startOffset; + container = rng.startContainer; + text = container.nodeValue; + caretContainer = getParentCaretContainer(editor.getBody(), selection.getStart()); + if (caretContainer) { + textNode = findFirstTextNode(caretContainer); + } + var wordcharRegex = /[^\s\u00a0\u00ad\u200b\ufeff]/; + if (text && offset > 0 && offset < text.length && wordcharRegex.test(text.charAt(offset)) && wordcharRegex.test(text.charAt(offset - 1))) { + bookmark = selection.getBookmark(); + rng.collapse(true); + rng = ExpandRange.expandRng(editor, rng, editor.formatter.get(name)); + rng = split$1(rng); + editor.formatter.apply(name, vars, rng); + selection.moveToBookmark(bookmark); + } else { + if (!caretContainer || textNode.nodeValue !== ZWSP$1) { + caretContainer = importNode(editor.getDoc(), createCaretContainer(true).dom()); + textNode = caretContainer.firstChild; + rng.insertNode(caretContainer); + offset = 1; + editor.formatter.apply(name, vars, caretContainer); + } else { + editor.formatter.apply(name, vars, caretContainer); + } + selection.setCursorLocation(textNode, offset); + } + }; + var removeCaretFormat = function (editor, name, vars, similar) { + var dom = editor.dom, selection = editor.selection; + var container, offset, bookmark; + var hasContentAfter, node, formatNode; + var parents = [], rng = selection.getRng(); + var caretContainer; + container = rng.startContainer; + offset = rng.startOffset; + node = container; + if (container.nodeType === 3) { + if (offset !== container.nodeValue.length) { + hasContentAfter = true; + } + node = node.parentNode; + } + while (node) { + if (MatchFormat.matchNode(editor, node, name, vars, similar)) { + formatNode = node; + break; + } + if (node.nextSibling) { + hasContentAfter = true; + } + parents.push(node); + node = node.parentNode; + } + if (!formatNode) { + return; + } + if (hasContentAfter) { + bookmark = selection.getBookmark(); + rng.collapse(true); + var expandedRng = ExpandRange.expandRng(editor, rng, editor.formatter.get(name), true); + expandedRng = split$1(expandedRng); + editor.formatter.remove(name, vars, expandedRng); + selection.moveToBookmark(bookmark); + } else { + caretContainer = getParentCaretContainer(editor.getBody(), formatNode); + var newCaretContainer = createCaretContainer(false).dom(); + var caretNode = insertFormatNodesIntoCaretContainer(parents, newCaretContainer); + if (caretContainer) { + insertCaretContainerNode(editor, newCaretContainer, caretContainer); + } else { + insertCaretContainerNode(editor, newCaretContainer, formatNode); + } + removeCaretContainerNode(editor, caretContainer, false); + selection.setCursorLocation(caretNode, 1); + if (dom.isEmpty(formatNode)) { + dom.remove(formatNode); + } + } + }; + var disableCaretContainer = function (editor, keyCode) { + var selection = editor.selection, body = editor.getBody(); + removeCaretContainer(editor, null, false); + if ((keyCode === 8 || keyCode === 46) && selection.isCollapsed() && selection.getStart().innerHTML === ZWSP$1) { + removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart())); + } + if (keyCode === 37 || keyCode === 39) { + removeCaretContainer(editor, getParentCaretContainer(body, selection.getStart())); + } + }; + var setup$5 = function (editor) { + editor.on('mouseup keydown', function (e) { + disableCaretContainer(editor, e.keyCode); + }); + }; + var replaceWithCaretFormat = function (targetNode, formatNodes) { + var caretContainer = createCaretContainer(false); + var innerMost = insertFormatNodesIntoCaretContainer(formatNodes, caretContainer.dom()); + before(Element.fromDom(targetNode), caretContainer); + remove$1(Element.fromDom(targetNode)); + return CaretPosition$1(innerMost, 0); + }; + var isFormatElement = function (editor, element) { + var inlineElements = editor.schema.getTextInlineElements(); + return inlineElements.hasOwnProperty(name(element)) && !isCaretNode(element.dom()) && !NodeType.isBogus(element.dom()); + }; + var isEmptyCaretFormatElement = function (element) { + return isCaretNode(element.dom()) && isCaretContainerEmpty(element.dom()); + }; + + var postProcessHooks = {}, filter$3 = ArrUtils.filter, each$9 = ArrUtils.each; + var addPostProcessHook = function (name, hook) { + var hooks = postProcessHooks[name]; + if (!hooks) { + postProcessHooks[name] = hooks = []; + } + postProcessHooks[name].push(hook); + }; + var postProcess = function (name, editor) { + each$9(postProcessHooks[name], function (hook) { + hook(editor); + }); + }; + addPostProcessHook('pre', function (editor) { + var rng = editor.selection.getRng(); + var isPre, blocks; + var hasPreSibling = function (pre) { + return isPre(pre.previousSibling) && ArrUtils.indexOf(blocks, pre.previousSibling) !== -1; + }; + var joinPre = function (pre1, pre2) { + DomQuery(pre2).remove(); + DomQuery(pre1).append('

').append(pre2.childNodes); + }; + isPre = NodeType.matchNodeNames(['pre']); + if (!rng.collapsed) { + blocks = editor.selection.getSelectedBlocks(); + each$9(filter$3(filter$3(blocks, isPre), hasPreSibling), function (pre) { + joinPre(pre.previousSibling, pre); + }); + } + }); + var Hooks = { postProcess: postProcess }; + + var each$a = Tools.each; + var ElementUtils = function (dom) { + this.compare = function (node1, node2) { + if (node1.nodeName !== node2.nodeName) { + return false; + } + var getAttribs = function (node) { + var attribs = {}; + each$a(dom.getAttribs(node), function (attr) { + var name = attr.nodeName.toLowerCase(); + if (name.indexOf('_') !== 0 && name !== 'style' && name.indexOf('data-') !== 0) { + attribs[name] = dom.getAttrib(node, name); + } + }); + return attribs; + }; + var compareObjects = function (obj1, obj2) { + var value, name; + for (name in obj1) { + if (obj1.hasOwnProperty(name)) { + value = obj2[name]; + if (typeof value === 'undefined') { + return false; + } + if (obj1[name] !== value) { + return false; + } + delete obj2[name]; + } + } + for (name in obj2) { + if (obj2.hasOwnProperty(name)) { + return false; + } + } + return true; + }; + if (!compareObjects(getAttribs(node1), getAttribs(node2))) { + return false; + } + if (!compareObjects(dom.parseStyle(dom.getAttrib(node1, 'style')), dom.parseStyle(dom.getAttrib(node2, 'style')))) { + return false; + } + return !Bookmarks.isBookmarkNode(node1) && !Bookmarks.isBookmarkNode(node2); + }; + }; + + var MCE_ATTR_RE = /^(src|href|style)$/; + var each$b = Tools.each; + var isEq$4 = FormatUtils.isEq; + var isTableCell$2 = function (node) { + return /^(TH|TD)$/.test(node.nodeName); + }; + var isChildOfInlineParent = function (dom, node, parent) { + return dom.isChildOf(node, parent) && node !== parent && !dom.isBlock(parent); + }; + var getContainer = function (ed, rng, start) { + var container, offset, lastIdx; + container = rng[start ? 'startContainer' : 'endContainer']; + offset = rng[start ? 'startOffset' : 'endOffset']; + if (NodeType.isElement(container)) { + lastIdx = container.childNodes.length - 1; + if (!start && offset) { + offset--; + } + container = container.childNodes[offset > lastIdx ? lastIdx : offset]; + } + if (NodeType.isText(container) && start && offset >= container.nodeValue.length) { + container = new TreeWalker(container, ed.getBody()).next() || container; + } + if (NodeType.isText(container) && !start && offset === 0) { + container = new TreeWalker(container, ed.getBody()).prev() || container; + } + return container; + }; + var wrap$2 = function (dom, node, name, attrs) { + var wrapper = dom.create(name, attrs); + node.parentNode.insertBefore(wrapper, node); + wrapper.appendChild(node); + return wrapper; + }; + var wrapWithSiblings = function (dom, node, next, name, attrs) { + var start = Element.fromDom(node); + var wrapper = Element.fromDom(dom.create(name, attrs)); + var siblings = next ? nextSiblings(start) : prevSiblings(start); + append$1(wrapper, siblings); + if (next) { + before(start, wrapper); + prepend(wrapper, start); + } else { + after(start, wrapper); + append(wrapper, start); + } + return wrapper.dom(); + }; + var matchName$1 = function (dom, node, format) { + if (isEq$4(node, format.inline)) { + return true; + } + if (isEq$4(node, format.block)) { + return true; + } + if (format.selector) { + return NodeType.isElement(node) && dom.is(node, format.selector); + } + }; + var isColorFormatAndAnchor = function (node, format) { + return format.links && node.tagName === 'A'; + }; + var find$3 = function (dom, node, next, inc) { + node = FormatUtils.getNonWhiteSpaceSibling(node, next, inc); + return !node || (node.nodeName === 'BR' || dom.isBlock(node)); + }; + var removeNode$1 = function (ed, node, format) { + var parentNode = node.parentNode; + var rootBlockElm; + var dom = ed.dom, forcedRootBlock = Settings.getForcedRootBlock(ed); + if (format.block) { + if (!forcedRootBlock) { + if (dom.isBlock(node) && !dom.isBlock(parentNode)) { + if (!find$3(dom, node, false) && !find$3(dom, node.firstChild, true, 1)) { + node.insertBefore(dom.create('br'), node.firstChild); + } + if (!find$3(dom, node, true) && !find$3(dom, node.lastChild, false, 1)) { + node.appendChild(dom.create('br')); + } + } + } else { + if (parentNode === dom.getRoot()) { + if (!format.list_block || !isEq$4(node, format.list_block)) { + each$b(Tools.grep(node.childNodes), function (node) { + if (FormatUtils.isValid(ed, forcedRootBlock, node.nodeName.toLowerCase())) { + if (!rootBlockElm) { + rootBlockElm = wrap$2(dom, node, forcedRootBlock); + dom.setAttribs(rootBlockElm, ed.settings.forced_root_block_attrs); + } else { + rootBlockElm.appendChild(node); + } + } else { + rootBlockElm = 0; + } + }); + } + } + } + } + if (format.selector && format.inline && !isEq$4(format.inline, node)) { + return; + } + dom.remove(node, 1); + }; + var removeFormat = function (ed, format, vars, node, compareNode) { + var i, attrs, stylesModified; + var dom = ed.dom; + if (!matchName$1(dom, node, format) && !isColorFormatAndAnchor(node, format)) { + return false; + } + if (format.remove !== 'all') { + each$b(format.styles, function (value, name) { + value = FormatUtils.normalizeStyleValue(dom, FormatUtils.replaceVars(value, vars), name); + if (typeof name === 'number') { + name = value; + compareNode = 0; + } + if (format.remove_similar || (!compareNode || isEq$4(FormatUtils.getStyle(dom, compareNode, name), value))) { + dom.setStyle(node, name, ''); + } + stylesModified = 1; + }); + if (stylesModified && dom.getAttrib(node, 'style') === '') { + node.removeAttribute('style'); + node.removeAttribute('data-mce-style'); + } + each$b(format.attributes, function (value, name) { + var valueOut; + value = FormatUtils.replaceVars(value, vars); + if (typeof name === 'number') { + name = value; + compareNode = 0; + } + if (format.remove_similar || (!compareNode || isEq$4(dom.getAttrib(compareNode, name), value))) { + if (name === 'class') { + value = dom.getAttrib(node, name); + if (value) { + valueOut = ''; + each$b(value.split(/\s+/), function (cls) { + if (/mce\-\w+/.test(cls)) { + valueOut += (valueOut ? ' ' : '') + cls; + } + }); + if (valueOut) { + dom.setAttrib(node, name, valueOut); + return; + } + } + } + if (name === 'class') { + node.removeAttribute('className'); + } + if (MCE_ATTR_RE.test(name)) { + node.removeAttribute('data-mce-' + name); + } + node.removeAttribute(name); + } + }); + each$b(format.classes, function (value) { + value = FormatUtils.replaceVars(value, vars); + if (!compareNode || dom.hasClass(compareNode, value)) { + dom.removeClass(node, value); + } + }); + attrs = dom.getAttribs(node); + for (i = 0; i < attrs.length; i++) { + var attrName = attrs[i].nodeName; + if (attrName.indexOf('_') !== 0 && attrName.indexOf('data-') !== 0) { + return false; + } + } + } + if (format.remove !== 'none') { + removeNode$1(ed, node, format); + return true; + } + }; + var findFormatRoot = function (editor, container, name, vars, similar) { + var formatRoot; + each$b(FormatUtils.getParents(editor.dom, container.parentNode).reverse(), function (parent) { + var format; + if (!formatRoot && parent.id !== '_start' && parent.id !== '_end') { + format = MatchFormat.matchNode(editor, parent, name, vars, similar); + if (format && format.split !== false) { + formatRoot = parent; + } + } + }); + return formatRoot; + }; + var wrapAndSplit = function (editor, formatList, formatRoot, container, target, split, format, vars) { + var parent, clone, lastClone, firstClone, i, formatRootParent; + var dom = editor.dom; + if (formatRoot) { + formatRootParent = formatRoot.parentNode; + for (parent = container.parentNode; parent && parent !== formatRootParent; parent = parent.parentNode) { + clone = dom.clone(parent, false); + for (i = 0; i < formatList.length; i++) { + if (removeFormat(editor, formatList[i], vars, clone, clone)) { + clone = 0; + break; + } + } + if (clone) { + if (lastClone) { + clone.appendChild(lastClone); + } + if (!firstClone) { + firstClone = clone; + } + lastClone = clone; + } + } + if (split && (!format.mixed || !dom.isBlock(formatRoot))) { + container = dom.split(formatRoot, container); + } + if (lastClone) { + target.parentNode.insertBefore(lastClone, target); + firstClone.appendChild(target); + } + } + return container; + }; + var remove$7 = function (ed, name, vars, node, similar) { + var formatList = ed.formatter.get(name), format = formatList[0]; + var bookmark, rng, contentEditable = true; + var dom = ed.dom; + var selection = ed.selection; + var splitToFormatRoot = function (container) { + var formatRoot = findFormatRoot(ed, container, name, vars, similar); + return wrapAndSplit(ed, formatList, formatRoot, container, container, true, format, vars); + }; + var isRemoveBookmarkNode = function (node) { + return Bookmarks.isBookmarkNode(node) && NodeType.isElement(node) && (node.id === '_start' || node.id === '_end'); + }; + var process = function (node) { + var children, i, l, lastContentEditable, hasContentEditableState; + if (NodeType.isElement(node) && dom.getContentEditable(node)) { + lastContentEditable = contentEditable; + contentEditable = dom.getContentEditable(node) === 'true'; + hasContentEditableState = true; + } + children = Tools.grep(node.childNodes); + if (contentEditable && !hasContentEditableState) { + for (i = 0, l = formatList.length; i < l; i++) { + if (removeFormat(ed, formatList[i], vars, node, node)) { + break; + } + } + } + if (format.deep) { + if (children.length) { + for (i = 0, l = children.length; i < l; i++) { + process(children[i]); + } + if (hasContentEditableState) { + contentEditable = lastContentEditable; + } + } + } + }; + var unwrap = function (start) { + var node = dom.get(start ? '_start' : '_end'); + var out = node[start ? 'firstChild' : 'lastChild']; + if (isRemoveBookmarkNode(out)) { + out = out[start ? 'firstChild' : 'lastChild']; + } + if (NodeType.isText(out) && out.data.length === 0) { + out = start ? node.previousSibling || node.nextSibling : node.nextSibling || node.previousSibling; + } + dom.remove(node, true); + return out; + }; + var removeRngStyle = function (rng) { + var startContainer, endContainer; + var commonAncestorContainer = rng.commonAncestorContainer; + rng = ExpandRange.expandRng(ed, rng, formatList, true); + if (format.split) { + rng = split$1(rng); + startContainer = getContainer(ed, rng, true); + endContainer = getContainer(ed, rng); + if (startContainer !== endContainer) { + if (/^(TR|TH|TD)$/.test(startContainer.nodeName) && startContainer.firstChild) { + if (startContainer.nodeName === 'TR') { + startContainer = startContainer.firstChild.firstChild || startContainer; + } else { + startContainer = startContainer.firstChild || startContainer; + } + } + if (commonAncestorContainer && /^T(HEAD|BODY|FOOT|R)$/.test(commonAncestorContainer.nodeName) && isTableCell$2(endContainer) && endContainer.firstChild) { + endContainer = endContainer.firstChild || endContainer; + } + if (isChildOfInlineParent(dom, startContainer, endContainer)) { + var marker = Option.from(startContainer.firstChild).getOr(startContainer); + splitToFormatRoot(wrapWithSiblings(dom, marker, true, 'span', { + 'id': '_start', + 'data-mce-type': 'bookmark' + })); + unwrap(true); + return; + } + if (isChildOfInlineParent(dom, endContainer, startContainer)) { + var marker = Option.from(endContainer.lastChild).getOr(endContainer); + splitToFormatRoot(wrapWithSiblings(dom, marker, false, 'span', { + 'id': '_end', + 'data-mce-type': 'bookmark' + })); + unwrap(false); + return; + } + startContainer = wrap$2(dom, startContainer, 'span', { + 'id': '_start', + 'data-mce-type': 'bookmark' + }); + endContainer = wrap$2(dom, endContainer, 'span', { + 'id': '_end', + 'data-mce-type': 'bookmark' + }); + splitToFormatRoot(startContainer); + splitToFormatRoot(endContainer); + startContainer = unwrap(true); + endContainer = unwrap(); + } else { + startContainer = endContainer = splitToFormatRoot(startContainer); + } + rng.startContainer = startContainer.parentNode ? startContainer.parentNode : startContainer; + rng.startOffset = dom.nodeIndex(startContainer); + rng.endContainer = endContainer.parentNode ? endContainer.parentNode : endContainer; + rng.endOffset = dom.nodeIndex(endContainer) + 1; + } + RangeWalk.walk(dom, rng, function (nodes) { + each$b(nodes, function (node) { + process(node); + if (NodeType.isElement(node) && ed.dom.getStyle(node, 'text-decoration') === 'underline' && node.parentNode && FormatUtils.getTextDecoration(dom, node.parentNode) === 'underline') { + removeFormat(ed, { + deep: false, + exact: true, + inline: 'span', + styles: { textDecoration: 'underline' } + }, null, node); + } + }); + }); + }; + if (node) { + if (node.nodeType) { + rng = dom.createRng(); + rng.setStartBefore(node); + rng.setEndAfter(node); + removeRngStyle(rng); + } else { + removeRngStyle(node); + } + return; + } + if (dom.getContentEditable(selection.getNode()) === 'false') { + node = selection.getNode(); + for (var i = 0, l = formatList.length; i < l; i++) { + if (formatList[i].ceFalseOverride) { + if (removeFormat(ed, formatList[i], vars, node, node)) { + break; + } + } + } + return; + } + if (!selection.isCollapsed() || !format.inline || dom.select('td[data-mce-selected],th[data-mce-selected]').length) { + bookmark = GetBookmark.getPersistentBookmark(ed.selection, true); + removeRngStyle(selection.getRng()); + selection.moveToBookmark(bookmark); + if (format.inline && MatchFormat.match(ed, name, vars, selection.getStart())) { + FormatUtils.moveStart(dom, selection, selection.getRng()); + } + ed.nodeChanged(); + } else { + removeCaretFormat(ed, name, vars, similar); + } + }; + var RemoveFormat = { + removeFormat: removeFormat, + remove: remove$7 + }; + + var each$c = Tools.each; + var isElementNode = function (node) { + return node && node.nodeType === 1 && !Bookmarks.isBookmarkNode(node) && !isCaretNode(node) && !NodeType.isBogus(node); + }; + var findElementSibling = function (node, siblingName) { + var sibling; + for (sibling = node; sibling; sibling = sibling[siblingName]) { + if (sibling.nodeType === 3 && sibling.nodeValue.length !== 0) { + return node; + } + if (sibling.nodeType === 1 && !Bookmarks.isBookmarkNode(sibling)) { + return sibling; + } + } + return node; + }; + var mergeSiblingsNodes = function (dom, prev, next) { + var sibling, tmpSibling; + var elementUtils = new ElementUtils(dom); + if (prev && next) { + prev = findElementSibling(prev, 'previousSibling'); + next = findElementSibling(next, 'nextSibling'); + if (elementUtils.compare(prev, next)) { + for (sibling = prev.nextSibling; sibling && sibling !== next;) { + tmpSibling = sibling; + sibling = sibling.nextSibling; + prev.appendChild(tmpSibling); + } + dom.remove(next); + Tools.each(Tools.grep(next.childNodes), function (node) { + prev.appendChild(node); + }); + return prev; + } + } + return next; + }; + var processChildElements = function (node, filter, process) { + each$c(node.childNodes, function (node) { + if (isElementNode(node)) { + if (filter(node)) { + process(node); + } + if (node.hasChildNodes()) { + processChildElements(node, filter, process); + } + } + }); + }; + var hasStyle = function (dom, name) { + return curry(function (name, node) { + return !!(node && FormatUtils.getStyle(dom, node, name)); + }, name); + }; + var applyStyle = function (dom, name, value) { + return curry(function (name, value, node) { + dom.setStyle(node, name, value); + if (node.getAttribute('style') === '') { + node.removeAttribute('style'); + } + unwrapEmptySpan(dom, node); + }, name, value); + }; + var unwrapEmptySpan = function (dom, node) { + if (node.nodeName === 'SPAN' && dom.getAttribs(node).length === 0) { + dom.remove(node, true); + } + }; + var processUnderlineAndColor = function (dom, node) { + var textDecoration; + if (node.nodeType === 1 && node.parentNode && node.parentNode.nodeType === 1) { + textDecoration = FormatUtils.getTextDecoration(dom, node.parentNode); + if (dom.getStyle(node, 'color') && textDecoration) { + dom.setStyle(node, 'text-decoration', textDecoration); + } else if (dom.getStyle(node, 'text-decoration') === textDecoration) { + dom.setStyle(node, 'text-decoration', null); + } + } + }; + var mergeUnderlineAndColor = function (dom, format, vars, node) { + if (format.styles.color || format.styles.textDecoration) { + Tools.walk(node, curry(processUnderlineAndColor, dom), 'childNodes'); + processUnderlineAndColor(dom, node); + } + }; + var mergeBackgroundColorAndFontSize = function (dom, format, vars, node) { + if (format.styles && format.styles.backgroundColor) { + processChildElements(node, hasStyle(dom, 'fontSize'), applyStyle(dom, 'backgroundColor', FormatUtils.replaceVars(format.styles.backgroundColor, vars))); + } + }; + var mergeSubSup = function (dom, format, vars, node) { + if (format.inline === 'sub' || format.inline === 'sup') { + processChildElements(node, hasStyle(dom, 'fontSize'), applyStyle(dom, 'fontSize', '')); + dom.remove(dom.select(format.inline === 'sup' ? 'sub' : 'sup', node), true); + } + }; + var mergeSiblings = function (dom, format, vars, node) { + if (node && format.merge_siblings !== false) { + node = mergeSiblingsNodes(dom, FormatUtils.getNonWhiteSpaceSibling(node), node); + node = mergeSiblingsNodes(dom, node, FormatUtils.getNonWhiteSpaceSibling(node, true)); + } + }; + var clearChildStyles = function (dom, format, node) { + if (format.clear_child_styles) { + var selector = format.links ? '*:not(a)' : '*'; + each$c(dom.select(selector, node), function (node) { + if (isElementNode(node)) { + each$c(format.styles, function (value, name) { + dom.setStyle(node, name, ''); + }); + } + }); + } + }; + var mergeWithChildren = function (editor, formatList, vars, node) { + each$c(formatList, function (format) { + each$c(editor.dom.select(format.inline, node), function (child) { + if (!isElementNode(child)) { + return; + } + RemoveFormat.removeFormat(editor, format, vars, child, format.exact ? child : null); + }); + clearChildStyles(editor.dom, format, node); + }); + }; + var mergeWithParents = function (editor, format, name, vars, node) { + if (MatchFormat.matchNode(editor, node.parentNode, name, vars)) { + if (RemoveFormat.removeFormat(editor, format, vars, node)) { + return; + } + } + if (format.merge_with_parents) { + editor.dom.getParent(node.parentNode, function (parent) { + if (MatchFormat.matchNode(editor, parent, name, vars)) { + RemoveFormat.removeFormat(editor, format, vars, node); + return true; + } + }); + } + }; + var MergeFormats = { + mergeWithChildren: mergeWithChildren, + mergeUnderlineAndColor: mergeUnderlineAndColor, + mergeBackgroundColorAndFontSize: mergeBackgroundColorAndFontSize, + mergeSubSup: mergeSubSup, + mergeSiblings: mergeSiblings, + mergeWithParents: mergeWithParents + }; + + var createRange$1 = function (sc, so, ec, eo) { + var rng = domGlobals.document.createRange(); + rng.setStart(sc, so); + rng.setEnd(ec, eo); + return rng; + }; + var normalizeBlockSelectionRange = function (rng) { + var startPos = CaretPosition$1.fromRangeStart(rng); + var endPos = CaretPosition$1.fromRangeEnd(rng); + var rootNode = rng.commonAncestorContainer; + return CaretFinder.fromPosition(false, rootNode, endPos).map(function (newEndPos) { + if (!isInSameBlock(startPos, endPos, rootNode) && isInSameBlock(startPos, newEndPos, rootNode)) { + return createRange$1(startPos.container(), startPos.offset(), newEndPos.container(), newEndPos.offset()); + } else { + return rng; + } + }).getOr(rng); + }; + var normalize$1 = function (rng) { + return rng.collapsed ? rng : normalizeBlockSelectionRange(rng); + }; + var RangeNormalizer = { normalize: normalize$1 }; + + var each$d = Tools.each; + var isElementNode$1 = function (node) { + return node && node.nodeType === 1 && !Bookmarks.isBookmarkNode(node) && !isCaretNode(node) && !NodeType.isBogus(node); + }; + var applyFormat = function (ed, name, vars, node) { + var formatList = ed.formatter.get(name); + var format = formatList[0]; + var bookmark, rng; + var isCollapsed = !node && ed.selection.isCollapsed(); + var dom = ed.dom, selection = ed.selection; + var setElementFormat = function (elm, fmt) { + fmt = fmt || format; + if (elm) { + if (fmt.onformat) { + fmt.onformat(elm, fmt, vars, node); + } + each$d(fmt.styles, function (value, name) { + dom.setStyle(elm, name, FormatUtils.replaceVars(value, vars)); + }); + if (fmt.styles) { + var styleVal = dom.getAttrib(elm, 'style'); + if (styleVal) { + elm.setAttribute('data-mce-style', styleVal); + } + } + each$d(fmt.attributes, function (value, name) { + dom.setAttrib(elm, name, FormatUtils.replaceVars(value, vars)); + }); + each$d(fmt.classes, function (value) { + value = FormatUtils.replaceVars(value, vars); + if (!dom.hasClass(elm, value)) { + dom.addClass(elm, value); + } + }); + } + }; + var applyNodeStyle = function (formatList, node) { + var found = false; + if (!format.selector) { + return false; + } + each$d(formatList, function (format) { + if ('collapsed' in format && format.collapsed !== isCollapsed) { + return; + } + if (dom.is(node, format.selector) && !isCaretNode(node)) { + setElementFormat(node, format); + found = true; + return false; + } + }); + return found; + }; + var applyRngStyle = function (dom, rng, bookmark, nodeSpecific) { + var newWrappers = []; + var wrapName, wrapElm, contentEditable = true; + wrapName = format.inline || format.block; + wrapElm = dom.create(wrapName); + setElementFormat(wrapElm); + RangeWalk.walk(dom, rng, function (nodes) { + var currentWrapElm; + var process = function (node) { + var nodeName, parentName, hasContentEditableState, lastContentEditable; + lastContentEditable = contentEditable; + nodeName = node.nodeName.toLowerCase(); + parentName = node.parentNode.nodeName.toLowerCase(); + if (node.nodeType === 1 && dom.getContentEditable(node)) { + lastContentEditable = contentEditable; + contentEditable = dom.getContentEditable(node) === 'true'; + hasContentEditableState = true; + } + if (FormatUtils.isEq(nodeName, 'br')) { + currentWrapElm = 0; + if (format.block) { + dom.remove(node); + } + return; + } + if (format.wrapper && MatchFormat.matchNode(ed, node, name, vars)) { + currentWrapElm = 0; + return; + } + if (contentEditable && !hasContentEditableState && format.block && !format.wrapper && FormatUtils.isTextBlock(ed, nodeName) && FormatUtils.isValid(ed, parentName, wrapName)) { + node = dom.rename(node, wrapName); + setElementFormat(node); + newWrappers.push(node); + currentWrapElm = 0; + return; + } + if (format.selector) { + var found = applyNodeStyle(formatList, node); + if (!format.inline || found) { + currentWrapElm = 0; + return; + } + } + if (contentEditable && !hasContentEditableState && FormatUtils.isValid(ed, wrapName, nodeName) && FormatUtils.isValid(ed, parentName, wrapName) && !(!nodeSpecific && node.nodeType === 3 && node.nodeValue.length === 1 && node.nodeValue.charCodeAt(0) === 65279) && !isCaretNode(node) && (!format.inline || !dom.isBlock(node))) { + if (!currentWrapElm) { + currentWrapElm = dom.clone(wrapElm, false); + node.parentNode.insertBefore(currentWrapElm, node); + newWrappers.push(currentWrapElm); + } + currentWrapElm.appendChild(node); + } else { + currentWrapElm = 0; + each$d(Tools.grep(node.childNodes), process); + if (hasContentEditableState) { + contentEditable = lastContentEditable; + } + currentWrapElm = 0; + } + }; + each$d(nodes, process); + }); + if (format.links === true) { + each$d(newWrappers, function (node) { + var process = function (node) { + if (node.nodeName === 'A') { + setElementFormat(node, format); + } + each$d(Tools.grep(node.childNodes), process); + }; + process(node); + }); + } + each$d(newWrappers, function (node) { + var childCount; + var getChildCount = function (node) { + var count = 0; + each$d(node.childNodes, function (node) { + if (!FormatUtils.isWhiteSpaceNode(node) && !Bookmarks.isBookmarkNode(node)) { + count++; + } + }); + return count; + }; + var getChildElementNode = function (root) { + var child = false; + each$d(root.childNodes, function (node) { + if (isElementNode$1(node)) { + child = node; + return false; + } + }); + return child; + }; + var mergeStyles = function (node) { + var child, clone; + child = getChildElementNode(node); + if (child && !Bookmarks.isBookmarkNode(child) && MatchFormat.matchName(dom, child, format)) { + clone = dom.clone(child, false); + setElementFormat(clone); + dom.replace(clone, node, true); + dom.remove(child, 1); + } + return clone || node; + }; + childCount = getChildCount(node); + if ((newWrappers.length > 1 || !dom.isBlock(node)) && childCount === 0) { + dom.remove(node, 1); + return; + } + if (format.inline || format.wrapper) { + if (!format.exact && childCount === 1) { + node = mergeStyles(node); + } + MergeFormats.mergeWithChildren(ed, formatList, vars, node); + MergeFormats.mergeWithParents(ed, format, name, vars, node); + MergeFormats.mergeBackgroundColorAndFontSize(dom, format, vars, node); + MergeFormats.mergeSubSup(dom, format, vars, node); + MergeFormats.mergeSiblings(dom, format, vars, node); + } + }); + }; + if (dom.getContentEditable(selection.getNode()) === 'false') { + node = selection.getNode(); + for (var i = 0, l = formatList.length; i < l; i++) { + if (formatList[i].ceFalseOverride && dom.is(node, formatList[i].selector)) { + setElementFormat(node, formatList[i]); + return; + } + } + return; + } + if (format) { + if (node) { + if (node.nodeType) { + if (!applyNodeStyle(formatList, node)) { + rng = dom.createRng(); + rng.setStartBefore(node); + rng.setEndAfter(node); + applyRngStyle(dom, ExpandRange.expandRng(ed, rng, formatList), null, true); + } + } else { + applyRngStyle(dom, node, null, true); + } + } else { + if (!isCollapsed || !format.inline || dom.select('td[data-mce-selected],th[data-mce-selected]').length) { + var curSelNode = ed.selection.getNode(); + if (!ed.settings.forced_root_block && formatList[0].defaultBlock && !dom.getParent(curSelNode, dom.isBlock)) { + applyFormat(ed, formatList[0].defaultBlock); + } + ed.selection.setRng(RangeNormalizer.normalize(ed.selection.getRng())); + bookmark = GetBookmark.getPersistentBookmark(ed.selection, true); + applyRngStyle(dom, ExpandRange.expandRng(ed, selection.getRng(), formatList)); + if (format.styles) { + MergeFormats.mergeUnderlineAndColor(dom, format, vars, curSelNode); + } + selection.moveToBookmark(bookmark); + FormatUtils.moveStart(dom, selection, selection.getRng()); + ed.nodeChanged(); + } else { + applyCaretFormat(ed, name, vars); + } + } + Hooks.postProcess(name, ed); + } + }; + var ApplyFormat = { applyFormat: applyFormat }; + + var setup$6 = function (registeredFormatListeners, editor) { + var currentFormats = Cell({}); + registeredFormatListeners.set({}); + editor.on('NodeChange', function (e) { + updateAndFireChangeCallbacks(editor, e.element, currentFormats, registeredFormatListeners.get()); + }); + }; + var updateAndFireChangeCallbacks = function (editor, elm, currentFormats, formatChangeData) { + var formatsList = keys(currentFormats.get()); + var newFormats = {}; + var matchedFormats = {}; + var parents = filter(FormatUtils.getParents(editor.dom, elm), function (node) { + return node.nodeType === 1 && !node.getAttribute('data-mce-bogus'); + }); + each$1(formatChangeData, function (data, format) { + Tools.each(parents, function (node) { + if (editor.formatter.matchNode(node, format, {}, data.similar)) { + if (formatsList.indexOf(format) === -1) { + each(data.callbacks, function (callback) { + callback(true, { + node: node, + format: format, + parents: parents + }); + }); + newFormats[format] = data.callbacks; + } + matchedFormats[format] = data.callbacks; + return false; + } + if (MatchFormat.matchesUnInheritedFormatSelector(editor, node, format)) { + return false; + } + }); + }); + var remainingFormats = filterRemainingFormats(currentFormats.get(), matchedFormats, elm, parents); + currentFormats.set(__assign(__assign({}, newFormats), remainingFormats)); + }; + var filterRemainingFormats = function (currentFormats, matchedFormats, elm, parents) { + return bifilter(currentFormats, function (callbacks, format) { + if (!has(matchedFormats, format)) { + each(callbacks, function (callback) { + callback(false, { + node: elm, + format: format, + parents: parents + }); + }); + return false; + } else { + return true; + } + }).t; + }; + var addListeners = function (registeredFormatListeners, formats, callback, similar) { + var formatChangeItems = registeredFormatListeners.get(); + each(formats.split(','), function (format) { + if (!formatChangeItems[format]) { + formatChangeItems[format] = { + similar: similar, + callbacks: [] + }; + } + formatChangeItems[format].callbacks.push(callback); + }); + registeredFormatListeners.set(formatChangeItems); + }; + var removeListeners = function (registeredFormatListeners, formats, callback) { + var formatChangeItems = registeredFormatListeners.get(); + each(formats.split(','), function (format) { + formatChangeItems[format].callbacks = filter(formatChangeItems[format].callbacks, function (c) { + return c !== callback; + }); + if (formatChangeItems[format].callbacks.length === 0) { + delete formatChangeItems[format]; + } + }); + registeredFormatListeners.set(formatChangeItems); + }; + var formatChanged = function (editor, registeredFormatListeners, formats, callback, similar) { + if (registeredFormatListeners.get() === null) { + setup$6(registeredFormatListeners, editor); + } + addListeners(registeredFormatListeners, formats, callback, similar); + return { + unbind: function () { + return removeListeners(registeredFormatListeners, formats, callback); + } + }; + }; + + var get$7 = function (dom) { + var formats = { + valigntop: [{ + selector: 'td,th', + styles: { verticalAlign: 'top' } + }], + valignmiddle: [{ + selector: 'td,th', + styles: { verticalAlign: 'middle' } + }], + valignbottom: [{ + selector: 'td,th', + styles: { verticalAlign: 'bottom' } + }], + alignleft: [ + { + selector: 'figure.image', + collapsed: false, + classes: 'align-left', + ceFalseOverride: true, + preview: 'font-family font-size' + }, + { + selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li', + styles: { textAlign: 'left' }, + inherit: false, + preview: false, + defaultBlock: 'div' + }, + { + selector: 'img,table', + collapsed: false, + styles: { float: 'left' }, + preview: 'font-family font-size' + } + ], + aligncenter: [ + { + selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li', + styles: { textAlign: 'center' }, + inherit: false, + preview: 'font-family font-size', + defaultBlock: 'div' + }, + { + selector: 'figure.image', + collapsed: false, + classes: 'align-center', + ceFalseOverride: true, + preview: 'font-family font-size' + }, + { + selector: 'img', + collapsed: false, + styles: { + display: 'block', + marginLeft: 'auto', + marginRight: 'auto' + }, + preview: false + }, + { + selector: 'table', + collapsed: false, + styles: { + marginLeft: 'auto', + marginRight: 'auto' + }, + preview: 'font-family font-size' + } + ], + alignright: [ + { + selector: 'figure.image', + collapsed: false, + classes: 'align-right', + ceFalseOverride: true, + preview: 'font-family font-size' + }, + { + selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li', + styles: { textAlign: 'right' }, + inherit: false, + preview: 'font-family font-size', + defaultBlock: 'div' + }, + { + selector: 'img,table', + collapsed: false, + styles: { float: 'right' }, + preview: 'font-family font-size' + } + ], + alignjustify: [{ + selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li', + styles: { textAlign: 'justify' }, + inherit: false, + defaultBlock: 'div', + preview: 'font-family font-size' + }], + bold: [ + { + inline: 'strong', + remove: 'all' + }, + { + inline: 'span', + styles: { fontWeight: 'bold' } + }, + { + inline: 'b', + remove: 'all' + } + ], + italic: [ + { + inline: 'em', + remove: 'all' + }, + { + inline: 'span', + styles: { fontStyle: 'italic' } + }, + { + inline: 'i', + remove: 'all' + } + ], + underline: [ + { + inline: 'span', + styles: { textDecoration: 'underline' }, + exact: true + }, + { + inline: 'u', + remove: 'all' + } + ], + strikethrough: [ + { + inline: 'span', + styles: { textDecoration: 'line-through' }, + exact: true + }, + { + inline: 'strike', + remove: 'all' + } + ], + forecolor: { + inline: 'span', + styles: { color: '%value' }, + links: true, + remove_similar: true, + clear_child_styles: true + }, + hilitecolor: { + inline: 'span', + styles: { backgroundColor: '%value' }, + links: true, + remove_similar: true, + clear_child_styles: true + }, + fontname: { + inline: 'span', + toggle: false, + styles: { fontFamily: '%value' }, + clear_child_styles: true + }, + fontsize: { + inline: 'span', + toggle: false, + styles: { fontSize: '%value' }, + clear_child_styles: true + }, + fontsize_class: { + inline: 'span', + attributes: { class: '%value' } + }, + blockquote: { + block: 'blockquote', + wrapper: true, + remove: 'all' + }, + subscript: { inline: 'sub' }, + superscript: { inline: 'sup' }, + code: { inline: 'code' }, + link: { + inline: 'a', + selector: 'a', + remove: 'all', + split: true, + deep: true, + onmatch: function () { + return true; + }, + onformat: function (elm, fmt, vars) { + Tools.each(vars, function (value, key) { + dom.setAttrib(elm, key, value); + }); + } + }, + removeformat: [ + { + selector: 'b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins', + remove: 'all', + split: true, + expand: false, + block_expand: true, + deep: true + }, + { + selector: 'span', + attributes: [ + 'style', + 'class' + ], + remove: 'empty', + split: true, + expand: false, + deep: true + }, + { + selector: '*', + attributes: [ + 'style', + 'class' + ], + split: false, + expand: false, + deep: true + } + ] + }; + Tools.each('p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp'.split(/\s/), function (name) { + formats[name] = { + block: name, + remove: 'all' + }; + }); + return formats; + }; + var DefaultFormats = { get: get$7 }; + + function FormatRegistry(editor) { + var formats = {}; + var get = function (name) { + return name ? formats[name] : formats; + }; + var has$1 = function (name) { + return has(formats, name); + }; + var register = function (name, format) { + if (name) { + if (typeof name !== 'string') { + Tools.each(name, function (format, name) { + register(name, format); + }); + } else { + if (!isArray(format)) { + format = [format]; + } + Tools.each(format, function (format) { + if (typeof format.deep === 'undefined') { + format.deep = !format.selector; + } + if (typeof format.split === 'undefined') { + format.split = !format.selector || format.inline; + } + if (typeof format.remove === 'undefined' && format.selector && !format.inline) { + format.remove = 'none'; + } + if (format.selector && format.inline) { + format.mixed = true; + format.block_expand = true; + } + if (typeof format.classes === 'string') { + format.classes = format.classes.split(/\s+/); + } + }); + formats[name] = format; + } + } + }; + var unregister = function (name) { + if (name && formats[name]) { + delete formats[name]; + } + return formats; + }; + register(DefaultFormats.get(editor.dom)); + register(editor.settings.formats); + return { + get: get, + has: has$1, + register: register, + unregister: unregister + }; + } + + var each$e = Tools.each; + var dom = DOMUtils$1.DOM; + var parsedSelectorToHtml = function (ancestry, editor) { + var elm, item, fragment; + var schema = editor && editor.schema || Schema({}); + var decorate = function (elm, item) { + if (item.classes.length) { + dom.addClass(elm, item.classes.join(' ')); + } + dom.setAttribs(elm, item.attrs); + }; + var createElement = function (sItem) { + var elm; + item = typeof sItem === 'string' ? { + name: sItem, + classes: [], + attrs: {} + } : sItem; + elm = dom.create(item.name); + decorate(elm, item); + return elm; + }; + var getRequiredParent = function (elm, candidate) { + var name = typeof elm !== 'string' ? elm.nodeName.toLowerCase() : elm; + var elmRule = schema.getElementRule(name); + var parentsRequired = elmRule && elmRule.parentsRequired; + if (parentsRequired && parentsRequired.length) { + return candidate && Tools.inArray(parentsRequired, candidate) !== -1 ? candidate : parentsRequired[0]; + } else { + return false; + } + }; + var wrapInHtml = function (elm, ancestry, siblings) { + var parent, parentCandidate, parentRequired; + var ancestor = ancestry.length > 0 && ancestry[0]; + var ancestorName = ancestor && ancestor.name; + parentRequired = getRequiredParent(elm, ancestorName); + if (parentRequired) { + if (ancestorName === parentRequired) { + parentCandidate = ancestry[0]; + ancestry = ancestry.slice(1); + } else { + parentCandidate = parentRequired; + } + } else if (ancestor) { + parentCandidate = ancestry[0]; + ancestry = ancestry.slice(1); + } else if (!siblings) { + return elm; + } + if (parentCandidate) { + parent = createElement(parentCandidate); + parent.appendChild(elm); + } + if (siblings) { + if (!parent) { + parent = dom.create('div'); + parent.appendChild(elm); + } + Tools.each(siblings, function (sibling) { + var siblingElm = createElement(sibling); + parent.insertBefore(siblingElm, elm); + }); + } + return wrapInHtml(parent, ancestry, parentCandidate && parentCandidate.siblings); + }; + if (ancestry && ancestry.length) { + item = ancestry[0]; + elm = createElement(item); + fragment = dom.create('div'); + fragment.appendChild(wrapInHtml(elm, ancestry.slice(1), item.siblings)); + return fragment; + } else { + return ''; + } + }; + var selectorToHtml = function (selector, editor) { + return parsedSelectorToHtml(parseSelector(selector), editor); + }; + var parseSelectorItem = function (item) { + var tagName; + var obj = { + classes: [], + attrs: {} + }; + item = obj.selector = Tools.trim(item); + if (item !== '*') { + tagName = item.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g, function ($0, $1, $2, $3, $4) { + switch ($1) { + case '#': + obj.attrs.id = $2; + break; + case '.': + obj.classes.push($2); + break; + case ':': + if (Tools.inArray('checked disabled enabled read-only required'.split(' '), $2) !== -1) { + obj.attrs[$2] = $2; + } + break; + } + if ($3 === '[') { + var m = $4.match(/([\w\-]+)(?:\=\"([^\"]+))?/); + if (m) { + obj.attrs[m[1]] = m[2]; + } + } + return ''; + }); + } + obj.name = tagName || 'div'; + return obj; + }; + var parseSelector = function (selector) { + if (!selector || typeof selector !== 'string') { + return []; + } + selector = selector.split(/\s*,\s*/)[0]; + selector = selector.replace(/\s*(~\+|~|\+|>)\s*/g, '$1'); + return Tools.map(selector.split(/(?:>|\s+(?![^\[\]]+\]))/), function (item) { + var siblings = Tools.map(item.split(/(?:~\+|~|\+)/), parseSelectorItem); + var obj = siblings.pop(); + if (siblings.length) { + obj.siblings = siblings; + } + return obj; + }).reverse(); + }; + var getCssText = function (editor, format) { + var name, previewFrag, previewElm, items; + var previewCss = '', parentFontSize, previewStyles; + previewStyles = editor.settings.preview_styles; + if (previewStyles === false) { + return ''; + } + if (typeof previewStyles !== 'string') { + previewStyles = 'font-family font-size font-weight font-style text-decoration ' + 'text-transform color background-color border border-radius outline text-shadow'; + } + var removeVars = function (val) { + return val.replace(/%(\w+)/g, ''); + }; + if (typeof format === 'string') { + format = editor.formatter.get(format); + if (!format) { + return; + } + format = format[0]; + } + if ('preview' in format) { + previewStyles = format.preview; + if (previewStyles === false) { + return ''; + } + } + name = format.block || format.inline || 'span'; + items = parseSelector(format.selector); + if (items.length) { + if (!items[0].name) { + items[0].name = name; + } + name = format.selector; + previewFrag = parsedSelectorToHtml(items, editor); + } else { + previewFrag = parsedSelectorToHtml([name], editor); + } + previewElm = dom.select(name, previewFrag)[0] || previewFrag.firstChild; + each$e(format.styles, function (value, name) { + value = removeVars(value); + if (value) { + dom.setStyle(previewElm, name, value); + } + }); + each$e(format.attributes, function (value, name) { + value = removeVars(value); + if (value) { + dom.setAttrib(previewElm, name, value); + } + }); + each$e(format.classes, function (value) { + value = removeVars(value); + if (!dom.hasClass(previewElm, value)) { + dom.addClass(previewElm, value); + } + }); + editor.fire('PreviewFormats'); + dom.setStyles(previewFrag, { + position: 'absolute', + left: -65535 + }); + editor.getBody().appendChild(previewFrag); + parentFontSize = dom.getStyle(editor.getBody(), 'fontSize', true); + parentFontSize = /px$/.test(parentFontSize) ? parseInt(parentFontSize, 10) : 0; + each$e(previewStyles.split(' '), function (name) { + var value = dom.getStyle(previewElm, name, true); + if (name === 'background-color' && /transparent|rgba\s*\([^)]+,\s*0\)/.test(value)) { + value = dom.getStyle(editor.getBody(), name, true); + if (dom.toHex(value).toLowerCase() === '#ffffff') { + return; + } + } + if (name === 'color') { + if (dom.toHex(value).toLowerCase() === '#000000') { + return; + } + } + if (name === 'font-size') { + if (/em|%$/.test(value)) { + if (parentFontSize === 0) { + return; + } + var numValue = parseFloat(value) / (/%$/.test(value) ? 100 : 1); + value = numValue * parentFontSize + 'px'; + } + } + if (name === 'border' && value) { + previewCss += 'padding:0 2px;'; + } + previewCss += name + ':' + value + ';'; + }); + editor.fire('AfterPreviewFormats'); + dom.remove(previewFrag); + return previewCss; + }; + var Preview = { + getCssText: getCssText, + parseSelector: parseSelector, + selectorToHtml: selectorToHtml + }; + + var toggle = function (editor, formats, name, vars, node) { + var fmt = formats.get(name); + if (MatchFormat.match(editor, name, vars, node) && (!('toggle' in fmt[0]) || fmt[0].toggle)) { + RemoveFormat.remove(editor, name, vars, node); + } else { + ApplyFormat.applyFormat(editor, name, vars, node); + } + }; + var ToggleFormat = { toggle: toggle }; + + var setup$7 = function (editor) { + editor.addShortcut('meta+b', '', 'Bold'); + editor.addShortcut('meta+i', '', 'Italic'); + editor.addShortcut('meta+u', '', 'Underline'); + for (var i = 1; i <= 6; i++) { + editor.addShortcut('access+' + i, '', [ + 'FormatBlock', + false, + 'h' + i + ]); + } + editor.addShortcut('access+7', '', [ + 'FormatBlock', + false, + 'p' + ]); + editor.addShortcut('access+8', '', [ + 'FormatBlock', + false, + 'div' + ]); + editor.addShortcut('access+9', '', [ + 'FormatBlock', + false, + 'address' + ]); + }; + var FormatShortcuts = { setup: setup$7 }; + + var Formatter = function (editor) { + var formats = FormatRegistry(editor); + var formatChangeState = Cell(null); + FormatShortcuts.setup(editor); + setup$5(editor); + return { + get: formats.get, + has: formats.has, + register: formats.register, + unregister: formats.unregister, + apply: curry(ApplyFormat.applyFormat, editor), + remove: curry(RemoveFormat.remove, editor), + toggle: curry(ToggleFormat.toggle, editor, formats), + match: curry(MatchFormat.match, editor), + matchAll: curry(MatchFormat.matchAll, editor), + matchNode: curry(MatchFormat.matchNode, editor), + canApply: curry(MatchFormat.canApply, editor), + formatChanged: curry(formatChanged, editor, formatChangeState), + getCssText: curry(Preview.getCssText, editor) + }; + }; + + var register$1 = function (htmlParser, settings, dom) { + htmlParser.addAttributeFilter('data-mce-tabindex', function (nodes, name) { + var i = nodes.length, node; + while (i--) { + node = nodes[i]; + node.attr('tabindex', node.attr('data-mce-tabindex')); + node.attr(name, null); + } + }); + htmlParser.addAttributeFilter('src,href,style', function (nodes, name) { + var i = nodes.length, node, value; + var internalName = 'data-mce-' + name; + var urlConverter = settings.url_converter; + var urlConverterScope = settings.url_converter_scope; + while (i--) { + node = nodes[i]; + value = node.attr(internalName); + if (value !== undefined) { + node.attr(name, value.length > 0 ? value : null); + node.attr(internalName, null); + } else { + value = node.attr(name); + if (name === 'style') { + value = dom.serializeStyle(dom.parseStyle(value), node.name); + } else if (urlConverter) { + value = urlConverter.call(urlConverterScope, value, name, node.name); + } + node.attr(name, value.length > 0 ? value : null); + } + } + }); + htmlParser.addAttributeFilter('class', function (nodes) { + var i = nodes.length, node, value; + while (i--) { + node = nodes[i]; + value = node.attr('class'); + if (value) { + value = node.attr('class').replace(/(?:^|\s)mce-item-\w+(?!\S)/g, ''); + node.attr('class', value.length > 0 ? value : null); + } + } + }); + htmlParser.addAttributeFilter('data-mce-type', function (nodes, name, args) { + var i = nodes.length, node; + while (i--) { + node = nodes[i]; + if (node.attr('data-mce-type') === 'bookmark' && !args.cleanup) { + var hasChildren = Option.from(node.firstChild).exists(function (firstChild) { + return !Zwsp.isZwsp(firstChild.value); + }); + if (hasChildren) { + node.unwrap(); + } else { + node.remove(); + } + } + } + }); + htmlParser.addNodeFilter('noscript', function (nodes) { + var i = nodes.length, node; + while (i--) { + node = nodes[i].firstChild; + if (node) { + node.value = Entities.decode(node.value); + } + } + }); + htmlParser.addNodeFilter('script,style', function (nodes, name) { + var i = nodes.length, node, value, type; + var trim = function (value) { + return value.replace(/()/g, '\n').replace(/^[\r\n]*|[\r\n]*$/g, '').replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g, ''); + }; + while (i--) { + node = nodes[i]; + value = node.firstChild ? node.firstChild.value : ''; + if (name === 'script') { + type = node.attr('type'); + if (type) { + node.attr('type', type === 'mce-no/type' ? null : type.replace(/^mce\-/, '')); + } + if (settings.element_format === 'xhtml' && value.length > 0) { + node.firstChild.value = '// '; + } + } else { + if (settings.element_format === 'xhtml' && value.length > 0) { + node.firstChild.value = ''; + } + } + } + }); + htmlParser.addNodeFilter('#comment', function (nodes) { + var i = nodes.length, node; + while (i--) { + node = nodes[i]; + if (node.value.indexOf('[CDATA[') === 0) { + node.name = '#cdata'; + node.type = 4; + node.value = node.value.replace(/^\[CDATA\[|\]\]$/g, ''); + } else if (node.value.indexOf('mce:protected ') === 0) { + node.name = '#text'; + node.type = 3; + node.raw = true; + node.value = unescape(node.value).substr(14); + } + } + }); + htmlParser.addNodeFilter('xml:namespace,input', function (nodes, name) { + var i = nodes.length, node; + while (i--) { + node = nodes[i]; + if (node.type === 7) { + node.remove(); + } else if (node.type === 1) { + if (name === 'input' && !node.attr('type')) { + node.attr('type', 'text'); + } + } + } + }); + htmlParser.addAttributeFilter('data-mce-type', function (nodes) { + each(nodes, function (node) { + if (node.attr('data-mce-type') === 'format-caret') { + if (node.isEmpty(htmlParser.schema.getNonEmptyElements())) { + node.remove(); + } else { + node.unwrap(); + } + } + }); + }); + htmlParser.addAttributeFilter('data-mce-src,data-mce-href,data-mce-style,' + 'data-mce-selected,data-mce-expando,' + 'data-mce-type,data-mce-resize', function (nodes, name) { + var i = nodes.length; + while (i--) { + nodes[i].attr(name, null); + } + }); + }; + var trimTrailingBr = function (rootNode) { + var brNode1, brNode2; + var isBr = function (node) { + return node && node.name === 'br'; + }; + brNode1 = rootNode.lastChild; + if (isBr(brNode1)) { + brNode2 = brNode1.prev; + if (isBr(brNode2)) { + brNode1.remove(); + brNode2.remove(); + } + } + }; + var DomSerializerFilters = { + register: register$1, + trimTrailingBr: trimTrailingBr + }; + + var preProcess = function (editor, node, args) { + var impl, doc, oldDoc; + var dom = editor.dom; + node = node.cloneNode(true); + impl = domGlobals.document.implementation; + if (impl.createHTMLDocument) { + doc = impl.createHTMLDocument(''); + Tools.each(node.nodeName === 'BODY' ? node.childNodes : [node], function (node) { + doc.body.appendChild(doc.importNode(node, true)); + }); + if (node.nodeName !== 'BODY') { + node = doc.body.firstChild; + } else { + node = doc.body; + } + oldDoc = dom.doc; + dom.doc = doc; + } + Events.firePreProcess(editor, merge(args, { node: node })); + if (oldDoc) { + dom.doc = oldDoc; + } + return node; + }; + var shouldFireEvent = function (editor, args) { + return editor && editor.hasEventListeners('PreProcess') && !args.no_events; + }; + var process = function (editor, node, args) { + return shouldFireEvent(editor, args) ? preProcess(editor, node, args) : node; + }; + var DomSerializerPreProcess = { process: process }; + + var removeAttrs = function (node, names) { + each(names, function (name) { + node.attr(name, null); + }); + }; + var addFontToSpansFilter = function (domParser, styles, fontSizes) { + domParser.addNodeFilter('font', function (nodes) { + each(nodes, function (node) { + var props = styles.parse(node.attr('style')); + var color = node.attr('color'); + var face = node.attr('face'); + var size = node.attr('size'); + if (color) { + props.color = color; + } + if (face) { + props['font-family'] = face; + } + if (size) { + props['font-size'] = fontSizes[parseInt(node.attr('size'), 10) - 1]; + } + node.name = 'span'; + node.attr('style', styles.serialize(props)); + removeAttrs(node, [ + 'color', + 'face', + 'size' + ]); + }); + }); + }; + var addStrikeToSpanFilter = function (domParser, styles) { + domParser.addNodeFilter('strike', function (nodes) { + each(nodes, function (node) { + var props = styles.parse(node.attr('style')); + props['text-decoration'] = 'line-through'; + node.name = 'span'; + node.attr('style', styles.serialize(props)); + }); + }); + }; + var addFilters = function (domParser, settings) { + var styles = Styles(); + if (settings.convert_fonts_to_spans) { + addFontToSpansFilter(domParser, styles, Tools.explode(settings.font_size_legacy_values)); + } + addStrikeToSpanFilter(domParser, styles); + }; + var register$2 = function (domParser, settings) { + if (settings.inline_styles) { + addFilters(domParser, settings); + } + }; + var LegacyFilter = { register: register$2 }; + + var paddEmptyNode = function (settings, args, blockElements, node) { + var brPreferred = settings.padd_empty_with_br || args.insert; + if (brPreferred && blockElements[node.name]) { + node.empty().append(new Node$1('br', 1)).shortEnded = true; + } else { + node.empty().append(new Node$1('#text', 3)).value = '\xA0'; + } + }; + var isPaddedWithNbsp = function (node) { + return hasOnlyChild(node, '#text') && node.firstChild.value === '\xA0'; + }; + var hasOnlyChild = function (node, name) { + return node && node.firstChild && node.firstChild === node.lastChild && node.firstChild.name === name; + }; + var isPadded = function (schema, node) { + var rule = schema.getElementRule(node.name); + return rule && rule.paddEmpty; + }; + var isEmpty$2 = function (schema, nonEmptyElements, whitespaceElements, node) { + return node.isEmpty(nonEmptyElements, whitespaceElements, function (node) { + return isPadded(schema, node); + }); + }; + var isLineBreakNode = function (node, blockElements) { + return node && (blockElements[node.name] || node.name === 'br'); + }; + + var register$3 = function (parser, settings) { + var schema = parser.schema; + if (settings.remove_trailing_brs) { + parser.addNodeFilter('br', function (nodes, _, args) { + var i; + var l = nodes.length; + var node; + var blockElements = Tools.extend({}, schema.getBlockElements()); + var nonEmptyElements = schema.getNonEmptyElements(); + var parent, lastParent, prev, prevName; + var whiteSpaceElements = schema.getNonEmptyElements(); + var elementRule, textNode; + blockElements.body = 1; + for (i = 0; i < l; i++) { + node = nodes[i]; + parent = node.parent; + if (blockElements[node.parent.name] && node === parent.lastChild) { + prev = node.prev; + while (prev) { + prevName = prev.name; + if (prevName !== 'span' || prev.attr('data-mce-type') !== 'bookmark') { + if (prevName !== 'br') { + break; + } + if (prevName === 'br') { + node = null; + break; + } + } + prev = prev.prev; + } + if (node) { + node.remove(); + if (isEmpty$2(schema, nonEmptyElements, whiteSpaceElements, parent)) { + elementRule = schema.getElementRule(parent.name); + if (elementRule) { + if (elementRule.removeEmpty) { + parent.remove(); + } else if (elementRule.paddEmpty) { + paddEmptyNode(settings, args, blockElements, parent); + } + } + } + } + } else { + lastParent = node; + while (parent && parent.firstChild === lastParent && parent.lastChild === lastParent) { + lastParent = parent; + if (blockElements[parent.name]) { + break; + } + parent = parent.parent; + } + if (lastParent === parent && settings.padd_empty_with_br !== true) { + textNode = new Node$1('#text', 3); + textNode.value = '\xA0'; + node.replace(textNode); + } + } + } + }); + } + parser.addAttributeFilter('href', function (nodes) { + var i = nodes.length, node; + var appendRel = function (rel) { + var parts = rel.split(' ').filter(function (p) { + return p.length > 0; + }); + return parts.concat(['noopener']).sort().join(' '); + }; + var addNoOpener = function (rel) { + var newRel = rel ? Tools.trim(rel) : ''; + if (!/\b(noopener)\b/g.test(newRel)) { + return appendRel(newRel); + } else { + return newRel; + } + }; + if (!settings.allow_unsafe_link_target) { + while (i--) { + node = nodes[i]; + if (node.name === 'a' && node.attr('target') === '_blank') { + node.attr('rel', addNoOpener(node.attr('rel'))); + } + } + } + }); + if (!settings.allow_html_in_named_anchor) { + parser.addAttributeFilter('id,name', function (nodes) { + var i = nodes.length, sibling, prevSibling, parent, node; + while (i--) { + node = nodes[i]; + if (node.name === 'a' && node.firstChild && !node.attr('href')) { + parent = node.parent; + sibling = node.lastChild; + do { + prevSibling = sibling.prev; + parent.insert(sibling, node); + sibling = prevSibling; + } while (sibling); + } + } + }); + } + if (settings.fix_list_elements) { + parser.addNodeFilter('ul,ol', function (nodes) { + var i = nodes.length, node, parentNode; + while (i--) { + node = nodes[i]; + parentNode = node.parent; + if (parentNode.name === 'ul' || parentNode.name === 'ol') { + if (node.prev && node.prev.name === 'li') { + node.prev.append(node); + } else { + var li = new Node$1('li', 1); + li.attr('style', 'list-style-type: none'); + node.wrap(li); + } + } + } + }); + } + if (settings.validate && schema.getValidClasses()) { + parser.addAttributeFilter('class', function (nodes) { + var i = nodes.length, node, classList, ci, className, classValue; + var validClasses = schema.getValidClasses(); + var validClassesMap, valid; + while (i--) { + node = nodes[i]; + classList = node.attr('class').split(' '); + classValue = ''; + for (ci = 0; ci < classList.length; ci++) { + className = classList[ci]; + valid = false; + validClassesMap = validClasses['*']; + if (validClassesMap && validClassesMap[className]) { + valid = true; + } + validClassesMap = validClasses[node.name]; + if (!valid && validClassesMap && validClassesMap[className]) { + valid = true; + } + if (valid) { + if (classValue) { + classValue += ' '; + } + classValue += className; + } + } + if (!classValue.length) { + classValue = null; + } + node.attr('class', classValue); + } + }); + } + }; + + var makeMap$4 = Tools.makeMap, each$f = Tools.each, explode$2 = Tools.explode, extend$2 = Tools.extend; + var DomParser = function (settings, schema) { + if (schema === void 0) { + schema = Schema(); + } + var nodeFilters = {}; + var attributeFilters = []; + var matchedNodes = {}; + var matchedAttributes = {}; + settings = settings || {}; + settings.validate = 'validate' in settings ? settings.validate : true; + settings.root_name = settings.root_name || 'body'; + var fixInvalidChildren = function (nodes) { + var ni, node, parent, parents, newParent, currentNode, tempNode, childNode, i; + var nonEmptyElements, whitespaceElements, nonSplitableElements, textBlockElements, specialElements, sibling, nextNode; + nonSplitableElements = makeMap$4('tr,td,th,tbody,thead,tfoot,table'); + nonEmptyElements = schema.getNonEmptyElements(); + whitespaceElements = schema.getWhiteSpaceElements(); + textBlockElements = schema.getTextBlockElements(); + specialElements = schema.getSpecialElements(); + for (ni = 0; ni < nodes.length; ni++) { + node = nodes[ni]; + if (!node.parent || node.fixed) { + continue; + } + if (textBlockElements[node.name] && node.parent.name === 'li') { + sibling = node.next; + while (sibling) { + if (textBlockElements[sibling.name]) { + sibling.name = 'li'; + sibling.fixed = true; + node.parent.insert(sibling, node.parent); + } else { + break; + } + sibling = sibling.next; + } + node.unwrap(node); + continue; + } + parents = [node]; + for (parent = node.parent; parent && !schema.isValidChild(parent.name, node.name) && !nonSplitableElements[parent.name]; parent = parent.parent) { + parents.push(parent); + } + if (parent && parents.length > 1) { + parents.reverse(); + newParent = currentNode = filterNode(parents[0].clone()); + for (i = 0; i < parents.length - 1; i++) { + if (schema.isValidChild(currentNode.name, parents[i].name)) { + tempNode = filterNode(parents[i].clone()); + currentNode.append(tempNode); + } else { + tempNode = currentNode; + } + for (childNode = parents[i].firstChild; childNode && childNode !== parents[i + 1];) { + nextNode = childNode.next; + tempNode.append(childNode); + childNode = nextNode; + } + currentNode = tempNode; + } + if (!isEmpty$2(schema, nonEmptyElements, whitespaceElements, newParent)) { + parent.insert(newParent, parents[0], true); + parent.insert(node, newParent); + } else { + parent.insert(node, parents[0], true); + } + parent = parents[0]; + if (isEmpty$2(schema, nonEmptyElements, whitespaceElements, parent) || hasOnlyChild(parent, 'br')) { + parent.empty().remove(); + } + } else if (node.parent) { + if (node.name === 'li') { + sibling = node.prev; + if (sibling && (sibling.name === 'ul' || sibling.name === 'ul')) { + sibling.append(node); + continue; + } + sibling = node.next; + if (sibling && (sibling.name === 'ul' || sibling.name === 'ul')) { + sibling.insert(node, sibling.firstChild, true); + continue; + } + node.wrap(filterNode(new Node$1('ul', 1))); + continue; + } + if (schema.isValidChild(node.parent.name, 'div') && schema.isValidChild('div', node.name)) { + node.wrap(filterNode(new Node$1('div', 1))); + } else { + if (specialElements[node.name]) { + node.empty().remove(); + } else { + node.unwrap(); + } + } + } + } + }; + var filterNode = function (node) { + var i, name, list; + name = node.name; + if (name in nodeFilters) { + list = matchedNodes[name]; + if (list) { + list.push(node); + } else { + matchedNodes[name] = [node]; + } + } + i = attributeFilters.length; + while (i--) { + name = attributeFilters[i].name; + if (name in node.attributes.map) { + list = matchedAttributes[name]; + if (list) { + list.push(node); + } else { + matchedAttributes[name] = [node]; + } + } + } + return node; + }; + var addNodeFilter = function (name, callback) { + each$f(explode$2(name), function (name) { + var list = nodeFilters[name]; + if (!list) { + nodeFilters[name] = list = []; + } + list.push(callback); + }); + }; + var getNodeFilters = function () { + var out = []; + for (var name in nodeFilters) { + if (nodeFilters.hasOwnProperty(name)) { + out.push({ + name: name, + callbacks: nodeFilters[name] + }); + } + } + return out; + }; + var addAttributeFilter = function (name, callback) { + each$f(explode$2(name), function (name) { + var i; + for (i = 0; i < attributeFilters.length; i++) { + if (attributeFilters[i].name === name) { + attributeFilters[i].callbacks.push(callback); + return; + } + } + attributeFilters.push({ + name: name, + callbacks: [callback] + }); + }); + }; + var getAttributeFilters = function () { + return [].concat(attributeFilters); + }; + var parse = function (html, args) { + var parser, nodes, i, l, fi, fl, list, name; + var blockElements; + var invalidChildren = []; + var isInWhiteSpacePreservedElement; + var node; + var getRootBlockName = function (name) { + if (name === false) { + return ''; + } else if (name === true) { + return 'p'; + } else { + return name; + } + }; + args = args || {}; + matchedNodes = {}; + matchedAttributes = {}; + blockElements = extend$2(makeMap$4('script,style,head,html,body,title,meta,param'), schema.getBlockElements()); + var nonEmptyElements = schema.getNonEmptyElements(); + var children = schema.children; + var validate = settings.validate; + var forcedRootBlockName = 'forced_root_block' in args ? args.forced_root_block : settings.forced_root_block; + var rootBlockName = getRootBlockName(forcedRootBlockName); + var whiteSpaceElements = schema.getWhiteSpaceElements(); + var startWhiteSpaceRegExp = /^[ \t\r\n]+/; + var endWhiteSpaceRegExp = /[ \t\r\n]+$/; + var allWhiteSpaceRegExp = /[ \t\r\n]+/g; + var isAllWhiteSpaceRegExp = /^[ \t\r\n]+$/; + isInWhiteSpacePreservedElement = whiteSpaceElements.hasOwnProperty(args.context) || whiteSpaceElements.hasOwnProperty(settings.root_name); + var addRootBlocks = function () { + var node = rootNode.firstChild, next, rootBlockNode; + var trim = function (rootBlockNode) { + if (rootBlockNode) { + node = rootBlockNode.firstChild; + if (node && node.type === 3) { + node.value = node.value.replace(startWhiteSpaceRegExp, ''); + } + node = rootBlockNode.lastChild; + if (node && node.type === 3) { + node.value = node.value.replace(endWhiteSpaceRegExp, ''); + } + } + }; + if (!schema.isValidChild(rootNode.name, rootBlockName.toLowerCase())) { + return; + } + while (node) { + next = node.next; + if (node.type === 3 || node.type === 1 && node.name !== 'p' && !blockElements[node.name] && !node.attr('data-mce-type')) { + if (!rootBlockNode) { + rootBlockNode = createNode(rootBlockName, 1); + rootBlockNode.attr(settings.forced_root_block_attrs); + rootNode.insert(rootBlockNode, node); + rootBlockNode.append(node); + } else { + rootBlockNode.append(node); + } + } else { + trim(rootBlockNode); + rootBlockNode = null; + } + node = next; + } + trim(rootBlockNode); + }; + var createNode = function (name, type) { + var node = new Node$1(name, type); + var list; + if (name in nodeFilters) { + list = matchedNodes[name]; + if (list) { + list.push(node); + } else { + matchedNodes[name] = [node]; + } + } + return node; + }; + var removeWhitespaceBefore = function (node) { + var textNode, textNodeNext, textVal, sibling; + var blockElements = schema.getBlockElements(); + for (textNode = node.prev; textNode && textNode.type === 3;) { + textVal = textNode.value.replace(endWhiteSpaceRegExp, ''); + if (textVal.length > 0) { + textNode.value = textVal; + return; + } + textNodeNext = textNode.next; + if (textNodeNext) { + if (textNodeNext.type === 3 && textNodeNext.value.length) { + textNode = textNode.prev; + continue; + } + if (!blockElements[textNodeNext.name] && textNodeNext.name !== 'script' && textNodeNext.name !== 'style') { + textNode = textNode.prev; + continue; + } + } + sibling = textNode.prev; + textNode.remove(); + textNode = sibling; + } + }; + var cloneAndExcludeBlocks = function (input) { + var name; + var output = {}; + for (name in input) { + if (name !== 'li' && name !== 'p') { + output[name] = input[name]; + } + } + return output; + }; + parser = SaxParser$1({ + validate: validate, + allow_script_urls: settings.allow_script_urls, + allow_conditional_comments: settings.allow_conditional_comments, + self_closing_elements: cloneAndExcludeBlocks(schema.getSelfClosingElements()), + cdata: function (text) { + node.append(createNode('#cdata', 4)).value = text; + }, + text: function (text, raw) { + var textNode; + if (!isInWhiteSpacePreservedElement) { + text = text.replace(allWhiteSpaceRegExp, ' '); + if (isLineBreakNode(node.lastChild, blockElements)) { + text = text.replace(startWhiteSpaceRegExp, ''); + } + } + if (text.length !== 0) { + textNode = createNode('#text', 3); + textNode.raw = !!raw; + node.append(textNode).value = text; + } + }, + comment: function (text) { + node.append(createNode('#comment', 8)).value = text; + }, + pi: function (name, text) { + node.append(createNode(name, 7)).value = text; + removeWhitespaceBefore(node); + }, + doctype: function (text) { + var newNode; + newNode = node.append(createNode('#doctype', 10)); + newNode.value = text; + removeWhitespaceBefore(node); + }, + start: function (name, attrs, empty) { + var newNode, attrFiltersLen, elementRule, attrName, parent; + elementRule = validate ? schema.getElementRule(name) : {}; + if (elementRule) { + newNode = createNode(elementRule.outputName || name, 1); + newNode.attributes = attrs; + newNode.shortEnded = empty; + node.append(newNode); + parent = children[node.name]; + if (parent && children[newNode.name] && !parent[newNode.name]) { + invalidChildren.push(newNode); + } + attrFiltersLen = attributeFilters.length; + while (attrFiltersLen--) { + attrName = attributeFilters[attrFiltersLen].name; + if (attrName in attrs.map) { + list = matchedAttributes[attrName]; + if (list) { + list.push(newNode); + } else { + matchedAttributes[attrName] = [newNode]; + } + } + } + if (blockElements[name]) { + removeWhitespaceBefore(newNode); + } + if (!empty) { + node = newNode; + } + if (!isInWhiteSpacePreservedElement && whiteSpaceElements[name]) { + isInWhiteSpacePreservedElement = true; + } + } + }, + end: function (name) { + var textNode, elementRule, text, sibling, tempNode; + elementRule = validate ? schema.getElementRule(name) : {}; + if (elementRule) { + if (blockElements[name]) { + if (!isInWhiteSpacePreservedElement) { + textNode = node.firstChild; + if (textNode && textNode.type === 3) { + text = textNode.value.replace(startWhiteSpaceRegExp, ''); + if (text.length > 0) { + textNode.value = text; + textNode = textNode.next; + } else { + sibling = textNode.next; + textNode.remove(); + textNode = sibling; + while (textNode && textNode.type === 3) { + text = textNode.value; + sibling = textNode.next; + if (text.length === 0 || isAllWhiteSpaceRegExp.test(text)) { + textNode.remove(); + textNode = sibling; + } + textNode = sibling; + } + } + } + textNode = node.lastChild; + if (textNode && textNode.type === 3) { + text = textNode.value.replace(endWhiteSpaceRegExp, ''); + if (text.length > 0) { + textNode.value = text; + textNode = textNode.prev; + } else { + sibling = textNode.prev; + textNode.remove(); + textNode = sibling; + while (textNode && textNode.type === 3) { + text = textNode.value; + sibling = textNode.prev; + if (text.length === 0 || isAllWhiteSpaceRegExp.test(text)) { + textNode.remove(); + textNode = sibling; + } + textNode = sibling; + } + } + } + } + } + if (isInWhiteSpacePreservedElement && whiteSpaceElements[name]) { + isInWhiteSpacePreservedElement = false; + } + if (elementRule.removeEmpty && isEmpty$2(schema, nonEmptyElements, whiteSpaceElements, node)) { + if (!node.attr('name') && !node.attr('id')) { + tempNode = node.parent; + if (blockElements[node.name]) { + node.empty().remove(); + } else { + node.unwrap(); + } + node = tempNode; + return; + } + } + if (elementRule.paddEmpty && (isPaddedWithNbsp(node) || isEmpty$2(schema, nonEmptyElements, whiteSpaceElements, node))) { + paddEmptyNode(settings, args, blockElements, node); + } + node = node.parent; + } + } + }, schema); + var rootNode = node = new Node$1(args.context || settings.root_name, 11); + parser.parse(html); + if (validate && invalidChildren.length) { + if (!args.context) { + fixInvalidChildren(invalidChildren); + } else { + args.invalid = true; + } + } + if (rootBlockName && (rootNode.name === 'body' || args.isRootContent)) { + addRootBlocks(); + } + if (!args.invalid) { + for (name in matchedNodes) { + if (!matchedNodes.hasOwnProperty(name)) { + continue; + } + list = nodeFilters[name]; + nodes = matchedNodes[name]; + fi = nodes.length; + while (fi--) { + if (!nodes[fi].parent) { + nodes.splice(fi, 1); + } + } + for (i = 0, l = list.length; i < l; i++) { + list[i](nodes, name, args); + } + } + for (i = 0, l = attributeFilters.length; i < l; i++) { + list = attributeFilters[i]; + if (list.name in matchedAttributes) { + nodes = matchedAttributes[list.name]; + fi = nodes.length; + while (fi--) { + if (!nodes[fi].parent) { + nodes.splice(fi, 1); + } + } + for (fi = 0, fl = list.callbacks.length; fi < fl; fi++) { + list.callbacks[fi](nodes, list.name, args); + } + } + } + } + return rootNode; + }; + var exports = { + schema: schema, + addAttributeFilter: addAttributeFilter, + getAttributeFilters: getAttributeFilters, + addNodeFilter: addNodeFilter, + getNodeFilters: getNodeFilters, + filterNode: filterNode, + parse: parse + }; + register$3(exports, settings); + LegacyFilter.register(exports, settings); + return exports; + }; + + var addTempAttr = function (htmlParser, tempAttrs, name) { + if (Tools.inArray(tempAttrs, name) === -1) { + htmlParser.addAttributeFilter(name, function (nodes, name) { + var i = nodes.length; + while (i--) { + nodes[i].attr(name, null); + } + }); + tempAttrs.push(name); + } + }; + var postProcess$1 = function (editor, args, content) { + if (!args.no_events && editor) { + var outArgs = Events.firePostProcess(editor, merge(args, { content: content })); + return outArgs.content; + } else { + return content; + } + }; + var getHtmlFromNode = function (dom, node, args) { + var html = Zwsp.trim(args.getInner ? node.innerHTML : dom.getOuterHTML(node)); + return args.selection || isWsPreserveElement(Element.fromDom(node)) ? html : Tools.trim(html); + }; + var parseHtml = function (htmlParser, html, args) { + var parserArgs = args.selection ? merge({ forced_root_block: false }, args) : args; + var rootNode = htmlParser.parse(html, parserArgs); + DomSerializerFilters.trimTrailingBr(rootNode); + return rootNode; + }; + var serializeNode = function (settings, schema, node) { + var htmlSerializer = Serializer(settings, schema); + return htmlSerializer.serialize(node); + }; + var toHtml = function (editor, settings, schema, rootNode, args) { + var content = serializeNode(settings, schema, rootNode); + return postProcess$1(editor, args, content); + }; + var DomSerializer = function (settings, editor) { + var dom, schema, htmlParser; + var tempAttrs = ['data-mce-selected']; + dom = editor && editor.dom ? editor.dom : DOMUtils$1.DOM; + schema = editor && editor.schema ? editor.schema : Schema(settings); + settings.entity_encoding = settings.entity_encoding || 'named'; + settings.remove_trailing_brs = 'remove_trailing_brs' in settings ? settings.remove_trailing_brs : true; + htmlParser = DomParser(settings, schema); + DomSerializerFilters.register(htmlParser, settings, dom); + var serialize = function (node, parserArgs) { + var args = merge({ format: 'html' }, parserArgs ? parserArgs : {}); + var targetNode = DomSerializerPreProcess.process(editor, node, args); + var html = getHtmlFromNode(dom, targetNode, args); + var rootNode = parseHtml(htmlParser, html, args); + return args.format === 'tree' ? rootNode : toHtml(editor, settings, schema, rootNode, args); + }; + return { + schema: schema, + addNodeFilter: htmlParser.addNodeFilter, + addAttributeFilter: htmlParser.addAttributeFilter, + serialize: serialize, + addRules: function (rules) { + schema.addValidElements(rules); + }, + setRules: function (rules) { + schema.setValidElements(rules); + }, + addTempAttr: curry(addTempAttr, htmlParser, tempAttrs), + getTempAttrs: function () { + return tempAttrs; + } + }; + }; + + var Serializer$1 = function (settings, editor) { + var domSerializer = DomSerializer(settings, editor); + return { + schema: domSerializer.schema, + addNodeFilter: domSerializer.addNodeFilter, + addAttributeFilter: domSerializer.addAttributeFilter, + serialize: domSerializer.serialize, + addRules: domSerializer.addRules, + setRules: domSerializer.setRules, + addTempAttr: domSerializer.addTempAttr, + getTempAttrs: domSerializer.getTempAttrs + }; + }; + + function BookmarkManager(selection) { + return { + getBookmark: curry(Bookmarks.getBookmark, selection), + moveToBookmark: curry(Bookmarks.moveToBookmark, selection) + }; + } + (function (BookmarkManager) { + BookmarkManager.isBookmarkNode = Bookmarks.isBookmarkNode; + }(BookmarkManager || (BookmarkManager = {}))); + var BookmarkManager$1 = BookmarkManager; + + var isContentEditableFalse$a = NodeType.isContentEditableFalse; + var isContentEditableTrue$5 = NodeType.isContentEditableTrue; + var getContentEditableRoot$1 = function (root, node) { + while (node && node !== root) { + if (isContentEditableTrue$5(node) || isContentEditableFalse$a(node)) { + return node; + } + node = node.parentNode; + } + return null; + }; + var ControlSelection = function (selection, editor) { + var dom = editor.dom, each = Tools.each; + var selectedElm, selectedElmGhost, resizeHelper, resizeHandles, selectedHandle; + var startX, startY, selectedElmX, selectedElmY, startW, startH, ratio, resizeStarted; + var width, height; + var editableDoc = editor.getDoc(), rootDocument = domGlobals.document; + var abs = Math.abs, round = Math.round, rootElement = editor.getBody(); + var startScrollWidth, startScrollHeight; + resizeHandles = { + nw: [ + 0, + 0, + -1, + -1 + ], + ne: [ + 1, + 0, + 1, + -1 + ], + se: [ + 1, + 1, + 1, + 1 + ], + sw: [ + 0, + 1, + -1, + 1 + ] + }; + var isImage = function (elm) { + return elm && (elm.nodeName === 'IMG' || editor.dom.is(elm, 'figure.image')); + }; + var isEventOnImageOutsideRange = function (evt, range) { + if (evt.type === 'longpress' || evt.type.indexOf('touch') === 0) { + var touch = evt.touches[0]; + return isImage(evt.target) && !RangePoint.isXYWithinRange(touch.clientX, touch.clientY, range); + } else { + return isImage(evt.target) && !RangePoint.isXYWithinRange(evt.clientX, evt.clientY, range); + } + }; + var contextMenuSelectImage = function (evt) { + var target = evt.target; + if (isEventOnImageOutsideRange(evt, editor.selection.getRng()) && !evt.isDefaultPrevented()) { + editor.selection.select(target); + } + }; + var getResizeTarget = function (elm) { + return editor.dom.is(elm, 'figure.image') ? elm.querySelector('img') : elm; + }; + var isResizable = function (elm) { + var selector = editor.settings.object_resizing; + if (selector === false || Env.iOS) { + return false; + } + if (typeof selector !== 'string') { + selector = 'table,img,figure.image,div'; + } + if (elm.getAttribute('data-mce-resize') === 'false') { + return false; + } + if (elm === editor.getBody()) { + return false; + } + return is(Element.fromDom(elm), selector); + }; + var resizeGhostElement = function (e) { + var deltaX, deltaY, proportional; + var resizeHelperX, resizeHelperY; + deltaX = e.screenX - startX; + deltaY = e.screenY - startY; + width = deltaX * selectedHandle[2] + startW; + height = deltaY * selectedHandle[3] + startH; + width = width < 5 ? 5 : width; + height = height < 5 ? 5 : height; + if (isImage(selectedElm) && editor.settings.resize_img_proportional !== false) { + proportional = !VK.modifierPressed(e); + } else { + proportional = VK.modifierPressed(e) || isImage(selectedElm) && selectedHandle[2] * selectedHandle[3] !== 0; + } + if (proportional) { + if (abs(deltaX) > abs(deltaY)) { + height = round(width * ratio); + width = round(height / ratio); + } else { + width = round(height / ratio); + height = round(width * ratio); + } + } + dom.setStyles(getResizeTarget(selectedElmGhost), { + width: width, + height: height + }); + resizeHelperX = selectedHandle.startPos.x + deltaX; + resizeHelperY = selectedHandle.startPos.y + deltaY; + resizeHelperX = resizeHelperX > 0 ? resizeHelperX : 0; + resizeHelperY = resizeHelperY > 0 ? resizeHelperY : 0; + dom.setStyles(resizeHelper, { + left: resizeHelperX, + top: resizeHelperY, + display: 'block' + }); + resizeHelper.innerHTML = width + ' × ' + height; + if (selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width) { + dom.setStyle(selectedElmGhost, 'left', selectedElmX + (startW - width)); + } + if (selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height) { + dom.setStyle(selectedElmGhost, 'top', selectedElmY + (startH - height)); + } + deltaX = rootElement.scrollWidth - startScrollWidth; + deltaY = rootElement.scrollHeight - startScrollHeight; + if (deltaX + deltaY !== 0) { + dom.setStyles(resizeHelper, { + left: resizeHelperX - deltaX, + top: resizeHelperY - deltaY + }); + } + if (!resizeStarted) { + Events.fireObjectResizeStart(editor, selectedElm, startW, startH); + resizeStarted = true; + } + }; + var endGhostResize = function () { + resizeStarted = false; + var setSizeProp = function (name, value) { + if (value) { + if (selectedElm.style[name] || !editor.schema.isValid(selectedElm.nodeName.toLowerCase(), name)) { + dom.setStyle(getResizeTarget(selectedElm), name, value); + } else { + dom.setAttrib(getResizeTarget(selectedElm), name, value); + } + } + }; + setSizeProp('width', width); + setSizeProp('height', height); + dom.unbind(editableDoc, 'mousemove', resizeGhostElement); + dom.unbind(editableDoc, 'mouseup', endGhostResize); + if (rootDocument !== editableDoc) { + dom.unbind(rootDocument, 'mousemove', resizeGhostElement); + dom.unbind(rootDocument, 'mouseup', endGhostResize); + } + dom.remove(selectedElmGhost); + dom.remove(resizeHelper); + showResizeRect(selectedElm); + Events.fireObjectResized(editor, selectedElm, width, height); + dom.setAttrib(selectedElm, 'style', dom.getAttrib(selectedElm, 'style')); + editor.nodeChanged(); + }; + var showResizeRect = function (targetElm) { + var position, targetWidth, targetHeight, e, rect; + hideResizeRect(); + unbindResizeHandleEvents(); + position = dom.getPos(targetElm, rootElement); + selectedElmX = position.x; + selectedElmY = position.y; + rect = targetElm.getBoundingClientRect(); + targetWidth = rect.width || rect.right - rect.left; + targetHeight = rect.height || rect.bottom - rect.top; + if (selectedElm !== targetElm) { + selectedElm = targetElm; + width = height = 0; + } + e = editor.fire('ObjectSelected', { target: targetElm }); + if (isResizable(targetElm) && !e.isDefaultPrevented()) { + each(resizeHandles, function (handle, name) { + var handleElm; + var startDrag = function (e) { + startX = e.screenX; + startY = e.screenY; + startW = getResizeTarget(selectedElm).clientWidth; + startH = getResizeTarget(selectedElm).clientHeight; + ratio = startH / startW; + selectedHandle = handle; + handle.startPos = { + x: targetWidth * handle[0] + selectedElmX, + y: targetHeight * handle[1] + selectedElmY + }; + startScrollWidth = rootElement.scrollWidth; + startScrollHeight = rootElement.scrollHeight; + selectedElmGhost = selectedElm.cloneNode(true); + dom.addClass(selectedElmGhost, 'mce-clonedresizable'); + dom.setAttrib(selectedElmGhost, 'data-mce-bogus', 'all'); + selectedElmGhost.contentEditable = false; + selectedElmGhost.unSelectabe = true; + dom.setStyles(selectedElmGhost, { + left: selectedElmX, + top: selectedElmY, + margin: 0 + }); + selectedElmGhost.removeAttribute('data-mce-selected'); + rootElement.appendChild(selectedElmGhost); + dom.bind(editableDoc, 'mousemove', resizeGhostElement); + dom.bind(editableDoc, 'mouseup', endGhostResize); + if (rootDocument !== editableDoc) { + dom.bind(rootDocument, 'mousemove', resizeGhostElement); + dom.bind(rootDocument, 'mouseup', endGhostResize); + } + resizeHelper = dom.add(rootElement, 'div', { + 'class': 'mce-resize-helper', + 'data-mce-bogus': 'all' + }, startW + ' × ' + startH); + }; + handleElm = dom.get('mceResizeHandle' + name); + if (handleElm) { + dom.remove(handleElm); + } + handleElm = dom.add(rootElement, 'div', { + 'id': 'mceResizeHandle' + name, + 'data-mce-bogus': 'all', + 'class': 'mce-resizehandle', + 'unselectable': true, + 'style': 'cursor:' + name + '-resize; margin:0; padding:0' + }); + if (Env.ie === 11) { + handleElm.contentEditable = false; + } + dom.bind(handleElm, 'mousedown', function (e) { + e.stopImmediatePropagation(); + e.preventDefault(); + startDrag(e); + }); + handle.elm = handleElm; + dom.setStyles(handleElm, { + left: targetWidth * handle[0] + selectedElmX - handleElm.offsetWidth / 2, + top: targetHeight * handle[1] + selectedElmY - handleElm.offsetHeight / 2 + }); + }); + } else { + hideResizeRect(); + } + selectedElm.setAttribute('data-mce-selected', '1'); + }; + var hideResizeRect = function () { + var name, handleElm; + unbindResizeHandleEvents(); + if (selectedElm) { + selectedElm.removeAttribute('data-mce-selected'); + } + for (name in resizeHandles) { + handleElm = dom.get('mceResizeHandle' + name); + if (handleElm) { + dom.unbind(handleElm); + dom.remove(handleElm); + } + } + }; + var updateResizeRect = function (e) { + var startElm, controlElm; + var isChildOrEqual = function (node, parent) { + if (node) { + do { + if (node === parent) { + return true; + } + } while (node = node.parentNode); + } + }; + if (resizeStarted || editor.removed) { + return; + } + each(dom.select('img[data-mce-selected],hr[data-mce-selected]'), function (img) { + img.removeAttribute('data-mce-selected'); + }); + controlElm = e.type === 'mousedown' ? e.target : selection.getNode(); + controlElm = dom.$(controlElm).closest('table,img,figure.image,hr')[0]; + if (isChildOrEqual(controlElm, rootElement)) { + disableGeckoResize(); + startElm = selection.getStart(true); + if (isChildOrEqual(startElm, controlElm) && isChildOrEqual(selection.getEnd(true), controlElm)) { + showResizeRect(controlElm); + return; + } + } + hideResizeRect(); + }; + var isWithinContentEditableFalse = function (elm) { + return isContentEditableFalse$a(getContentEditableRoot$1(editor.getBody(), elm)); + }; + var unbindResizeHandleEvents = function () { + for (var name in resizeHandles) { + var handle = resizeHandles[name]; + if (handle.elm) { + dom.unbind(handle.elm); + delete handle.elm; + } + } + }; + var disableGeckoResize = function () { + try { + editor.getDoc().execCommand('enableObjectResizing', false, false); + } catch (ex) { + } + }; + editor.on('init', function () { + disableGeckoResize(); + if (Env.browser.isIE() || Env.browser.isEdge()) { + editor.on('mousedown click', function (e) { + var target = e.target, nodeName = target.nodeName; + if (!resizeStarted && /^(TABLE|IMG|HR)$/.test(nodeName) && !isWithinContentEditableFalse(target)) { + if (e.button !== 2) { + editor.selection.select(target, nodeName === 'TABLE'); + } + if (e.type === 'mousedown') { + editor.nodeChanged(); + } + } + }); + editor.dom.bind(rootElement, 'mscontrolselect', function (e) { + var delayedSelect = function (node) { + Delay.setEditorTimeout(editor, function () { + editor.selection.select(node); + }); + }; + if (isWithinContentEditableFalse(e.target)) { + e.preventDefault(); + delayedSelect(e.target); + return; + } + if (/^(TABLE|IMG|HR)$/.test(e.target.nodeName)) { + e.preventDefault(); + if (e.target.tagName === 'IMG') { + delayedSelect(e.target); + } + } + }); + } + var throttledUpdateResizeRect = Delay.throttle(function (e) { + if (!editor.composing) { + updateResizeRect(e); + } + }); + editor.on('nodechange ResizeEditor ResizeWindow drop FullscreenStateChanged', throttledUpdateResizeRect); + editor.on('keyup compositionend', function (e) { + if (selectedElm && selectedElm.nodeName === 'TABLE') { + throttledUpdateResizeRect(e); + } + }); + editor.on('hide blur', hideResizeRect); + editor.on('contextmenu longpress', contextMenuSelectImage, true); + }); + editor.on('remove', unbindResizeHandleEvents); + var destroy = function () { + selectedElm = selectedElmGhost = null; + }; + return { + isResizable: isResizable, + showResizeRect: showResizeRect, + hideResizeRect: hideResizeRect, + updateResizeRect: updateResizeRect, + destroy: destroy + }; + }; + + function Dimension (name, getOffset) { + var set = function (element, h) { + if (!isNumber(h) && !h.match(/^[0-9]+$/)) { + throw new Error(name + '.set accepts only positive integer values. Value was ' + h); + } + var dom = element.dom(); + if (isSupported(dom)) { + dom.style[name] = h + 'px'; + } + }; + var get = function (element) { + var r = getOffset(element); + if (r <= 0 || r === null) { + var css = get$2(element, name); + return parseFloat(css) || 0; + } + return r; + }; + var getOuter = get; + var aggregate = function (element, properties) { + return foldl(properties, function (acc, property) { + var val = get$2(element, property); + var value = val === undefined ? 0 : parseInt(val, 10); + return isNaN(value) ? acc : acc + value; + }, 0); + }; + var max = function (element, value, properties) { + var cumulativeInclusions = aggregate(element, properties); + var absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0; + return absoluteMax; + }; + return { + set: set, + get: get, + getOuter: getOuter, + aggregate: aggregate, + max: max + }; + } + + var api$1 = Dimension('height', function (element) { + var dom = element.dom(); + return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight; + }); + var get$8 = function (element) { + return api$1.get(element); + }; + + var walkUp = function (navigation, doc) { + var frame = navigation.view(doc); + return frame.fold(constant([]), function (f) { + var parent = navigation.owner(f); + var rest = walkUp(navigation, parent); + return [f].concat(rest); + }); + }; + var pathTo = function (element, navigation) { + var d = navigation.owner(element); + return walkUp(navigation, d); + }; + + var view = function (doc) { + var element = doc.dom() === domGlobals.document ? Option.none() : Option.from(doc.dom().defaultView.frameElement); + return element.map(Element.fromDom); + }; + var owner$1 = function (element) { + return owner(element); + }; + + var Navigation = /*#__PURE__*/Object.freeze({ + view: view, + owner: owner$1 + }); + + var find$4 = function (element) { + var doc = Element.fromDom(domGlobals.document); + var scroll = get$3(doc); + var frames = pathTo(element, Navigation); + var offset = viewport(element); + var r = foldr(frames, function (b, a) { + var loc = viewport(a); + return { + left: b.left + loc.left(), + top: b.top + loc.top() + }; + }, { + left: 0, + top: 0 + }); + return Position$1(r.left + offset.left() + scroll.left(), r.top + offset.top() + scroll.top()); + }; + + var excludeFromDescend = function (element) { + return name(element) === 'textarea'; + }; + var descend = function (element, offset) { + var children$1 = children(element); + if (children$1.length === 0 || excludeFromDescend(element)) { + return { + element: element, + offset: offset + }; + } else if (offset < children$1.length && !excludeFromDescend(children$1[offset])) { + return { + element: children$1[offset], + offset: 0 + }; + } else { + var last = children$1[children$1.length - 1]; + if (excludeFromDescend(last)) { + return { + element: element, + offset: offset + }; + } else { + if (name(last) === 'img') { + return { + element: last, + offset: 1 + }; + } else if (isText$1(last)) { + return { + element: last, + offset: get$6(last).length + }; + } else { + return { + element: last, + offset: children(last).length + }; + } + } + } + }; + var markerInfo = function (element, cleanupFun) { + var pos = absolute(element); + var height = get$8(element); + return { + element: element, + bottom: pos.top() + height, + pos: pos, + cleanup: cleanupFun + }; + }; + var createMarker = function (element, offset) { + var startPoint = descend(element, offset); + var span = Element.fromHtml('' + Zwsp.ZWSP + ''); + before(startPoint.element, span); + return markerInfo(span, function () { + return remove$1(span); + }); + }; + var elementMarker = function (element) { + return markerInfo(Element.fromDom(element), noop); + }; + var withMarker = function (editor, f, rng, alignToTop) { + preserveWith(editor, function (_s, _e) { + return applyWithMarker(editor, f, rng, alignToTop); + }, rng); + }; + var applyWithMarker = function (editor, f, rng, alignToTop) { + var body = Element.fromDom(editor.getBody()); + var doc = Element.fromDom(editor.getDoc()); + reflow(body); + var scrollTop = get$3(doc).top(); + var marker = createMarker(Element.fromDom(rng.startContainer), rng.startOffset); + f(doc, scrollTop, marker, alignToTop); + marker.cleanup(); + }; + var withElement = function (editor, element, f, alignToTop) { + var doc = Element.fromDom(editor.getDoc()); + var scrollTop = get$3(doc).top(); + f(doc, scrollTop, element, alignToTop); + }; + var preserveWith = function (editor, f, rng) { + var startElement = rng.startContainer; + var startOffset = rng.startOffset; + var endElement = rng.endContainer; + var endOffset = rng.endOffset; + f(Element.fromDom(startElement), Element.fromDom(endElement)); + var newRng = editor.dom.createRng(); + newRng.setStart(startElement, startOffset); + newRng.setEnd(endElement, endOffset); + editor.selection.setRng(rng); + }; + var fireScrollIntoViewEvent = function (editor, elm, alignToTop) { + var scrollEvent = editor.fire('ScrollIntoView', { + elm: elm, + alignToTop: alignToTop + }); + return scrollEvent.isDefaultPrevented(); + }; + var scrollTo = function (marker, viewHeight, alignToTop, doc) { + var pos = marker.pos; + if (alignToTop) { + to(pos.left(), pos.top(), doc); + } else { + var y = pos.top() - viewHeight + (marker.bottom - pos.top()); + to(pos.left(), y, doc); + } + }; + var intoWindowIfNeeded = function (doc, scrollTop, viewHeight, marker, alignToTop) { + if (marker.pos.top() < scrollTop) { + scrollTo(marker, viewHeight, alignToTop !== false, doc); + } else if (marker.bottom > viewHeight + scrollTop) { + scrollTo(marker, viewHeight, alignToTop === true, doc); + } + }; + var intoWindow = function (doc, scrollTop, marker, alignToTop) { + var viewHeight = doc.dom().defaultView.innerHeight; + intoWindowIfNeeded(doc, scrollTop, viewHeight, marker, alignToTop); + }; + var intoFrame = function (editor, doc, scrollTop, marker, alignToTop) { + var frameViewHeight = doc.dom().defaultView.innerHeight; + intoWindowIfNeeded(doc, scrollTop, frameViewHeight, marker, alignToTop); + var op = find$4(marker.element); + var viewportBounds = getBounds(domGlobals.window); + if (op.top() < viewportBounds.y()) { + intoView(marker.element, alignToTop !== false); + } else if (op.top() > viewportBounds.bottom()) { + intoView(marker.element, alignToTop === true); + } + }; + var rangeIntoWindow = function (editor, rng, alignToTop) { + return withMarker(editor, curry(intoWindow), rng, alignToTop); + }; + var elementIntoWindow = function (editor, element, alignToTop) { + return withElement(editor, elementMarker(element), curry(intoWindow), alignToTop); + }; + var rangeIntoFrame = function (editor, rng, alignToTop) { + return withMarker(editor, curry(intoFrame, editor), rng, alignToTop); + }; + var elementIntoFrame = function (editor, element, alignToTop) { + return withElement(editor, elementMarker(element), curry(intoFrame, editor), alignToTop); + }; + var elementIntoView = function (editor, element, alignToTop) { + if (fireScrollIntoViewEvent(editor, element, alignToTop)) { + return; + } + var scroller = editor.inline ? elementIntoWindow : elementIntoFrame; + scroller(editor, element, alignToTop); + }; + var rangeIntoView = function (editor, rng, alignToTop) { + var scroller = editor.inline ? rangeIntoWindow : rangeIntoFrame; + scroller(editor, rng, alignToTop); + }; + var ScrollIntoView = { + scrollElementIntoView: elementIntoView, + scrollRangeIntoView: rangeIntoView + }; + + var hasCeProperty = function (node) { + return NodeType.isContentEditableTrue(node) || NodeType.isContentEditableFalse(node); + }; + var findParent = function (node, rootNode, predicate) { + while (node && node !== rootNode) { + if (predicate(node)) { + return node; + } + node = node.parentNode; + } + return null; + }; + var findClosestIeRange = function (clientX, clientY, doc) { + var element, rng, rects; + element = doc.elementFromPoint(clientX, clientY); + rng = doc.body.createTextRange(); + if (!element || element.tagName === 'HTML') { + element = doc.body; + } + rng.moveToElementText(element); + rects = Tools.toArray(rng.getClientRects()); + rects = rects.sort(function (a, b) { + a = Math.abs(Math.max(a.top - clientY, a.bottom - clientY)); + b = Math.abs(Math.max(b.top - clientY, b.bottom - clientY)); + return a - b; + }); + if (rects.length > 0) { + clientY = (rects[0].bottom + rects[0].top) / 2; + try { + rng.moveToPoint(clientX, clientY); + rng.collapse(true); + return rng; + } catch (ex) { + } + } + return null; + }; + var moveOutOfContentEditableFalse = function (rng, rootNode) { + var parentElement = rng && rng.parentElement ? rng.parentElement() : null; + return NodeType.isContentEditableFalse(findParent(parentElement, rootNode, hasCeProperty)) ? null : rng; + }; + var fromPoint$1 = function (clientX, clientY, doc) { + var rng, point; + var pointDoc = doc; + if (pointDoc.caretPositionFromPoint) { + point = pointDoc.caretPositionFromPoint(clientX, clientY); + if (point) { + rng = doc.createRange(); + rng.setStart(point.offsetNode, point.offset); + rng.collapse(true); + } + } else if (doc.caretRangeFromPoint) { + rng = doc.caretRangeFromPoint(clientX, clientY); + } else if (pointDoc.body.createTextRange) { + rng = pointDoc.body.createTextRange(); + try { + rng.moveToPoint(clientX, clientY); + rng.collapse(true); + } catch (ex) { + rng = findClosestIeRange(clientX, clientY, doc); + } + return moveOutOfContentEditableFalse(rng, doc.body); + } + return rng; + }; + var CaretRangeFromPoint = { fromPoint: fromPoint$1 }; + + var processRanges = function (editor, ranges) { + return map(ranges, function (range) { + var evt = editor.fire('GetSelectionRange', { range: range }); + return evt.range !== range ? evt.range : range; + }); + }; + var EventProcessRanges = { processRanges: processRanges }; + + var fromElements = function (elements, scope) { + var doc = scope || domGlobals.document; + var fragment = doc.createDocumentFragment(); + each(elements, function (element) { + fragment.appendChild(element.dom()); + }); + return Element.fromDom(fragment); + }; + + var tableModel = Immutable('element', 'width', 'rows'); + var tableRow = Immutable('element', 'cells'); + var cellPosition = Immutable('x', 'y'); + var getSpan = function (td, key) { + var value = parseInt(get$1(td, key), 10); + return isNaN(value) ? 1 : value; + }; + var fillout = function (table, x, y, tr, td) { + var rowspan = getSpan(td, 'rowspan'); + var colspan = getSpan(td, 'colspan'); + var rows = table.rows(); + for (var y2 = y; y2 < y + rowspan; y2++) { + if (!rows[y2]) { + rows[y2] = tableRow(deep(tr), []); + } + for (var x2 = x; x2 < x + colspan; x2++) { + var cells = rows[y2].cells(); + cells[x2] = y2 === y && x2 === x ? td : shallow(td); + } + } + }; + var cellExists = function (table, x, y) { + var rows = table.rows(); + var cells = rows[y] ? rows[y].cells() : []; + return !!cells[x]; + }; + var skipCellsX = function (table, x, y) { + while (cellExists(table, x, y)) { + x++; + } + return x; + }; + var getWidth = function (rows) { + return foldl(rows, function (acc, row) { + return row.cells().length > acc ? row.cells().length : acc; + }, 0); + }; + var findElementPos = function (table, element) { + var rows = table.rows(); + for (var y = 0; y < rows.length; y++) { + var cells = rows[y].cells(); + for (var x = 0; x < cells.length; x++) { + if (eq(cells[x], element)) { + return Option.some(cellPosition(x, y)); + } + } + } + return Option.none(); + }; + var extractRows = function (table, sx, sy, ex, ey) { + var newRows = []; + var rows = table.rows(); + for (var y = sy; y <= ey; y++) { + var cells = rows[y].cells(); + var slice = sx < ex ? cells.slice(sx, ex + 1) : cells.slice(ex, sx + 1); + newRows.push(tableRow(rows[y].element(), slice)); + } + return newRows; + }; + var subTable = function (table, startPos, endPos) { + var sx = startPos.x(), sy = startPos.y(); + var ex = endPos.x(), ey = endPos.y(); + var newRows = sy < ey ? extractRows(table, sx, sy, ex, ey) : extractRows(table, sx, ey, ex, sy); + return tableModel(table.element(), getWidth(newRows), newRows); + }; + var createDomTable = function (table, rows) { + var tableElement = shallow(table.element()); + var tableBody = Element.fromTag('tbody'); + append$1(tableBody, rows); + append(tableElement, tableBody); + return tableElement; + }; + var modelRowsToDomRows = function (table) { + return map(table.rows(), function (row) { + var cells = map(row.cells(), function (cell) { + var td = deep(cell); + remove(td, 'colspan'); + remove(td, 'rowspan'); + return td; + }); + var tr = shallow(row.element()); + append$1(tr, cells); + return tr; + }); + }; + var fromDom$1 = function (tableElm) { + var table = tableModel(shallow(tableElm), 0, []); + each(descendants$1(tableElm, 'tr'), function (tr, y) { + each(descendants$1(tr, 'td,th'), function (td, x) { + fillout(table, skipCellsX(table, x, y), y, tr, td); + }); + }); + return tableModel(table.element(), getWidth(table.rows()), table.rows()); + }; + var toDom = function (table) { + return createDomTable(table, modelRowsToDomRows(table)); + }; + var subsection = function (table, startElement, endElement) { + return findElementPos(table, startElement).bind(function (startPos) { + return findElementPos(table, endElement).map(function (endPos) { + return subTable(table, startPos, endPos); + }); + }); + }; + var SimpleTableModel = { + fromDom: fromDom$1, + toDom: toDom, + subsection: subsection + }; + + var getRanges = function (selection) { + var ranges = []; + if (selection) { + for (var i = 0; i < selection.rangeCount; i++) { + ranges.push(selection.getRangeAt(i)); + } + } + return ranges; + }; + var getSelectedNodes = function (ranges) { + return bind(ranges, function (range) { + var node = getSelectedNode(range); + return node ? [Element.fromDom(node)] : []; + }); + }; + var hasMultipleRanges = function (selection) { + return getRanges(selection).length > 1; + }; + var MultiRange = { + getRanges: getRanges, + getSelectedNodes: getSelectedNodes, + hasMultipleRanges: hasMultipleRanges + }; + + var getCellsFromRanges = function (ranges) { + return filter(MultiRange.getSelectedNodes(ranges), isTableCell); + }; + var getCellsFromElement = function (elm) { + return descendants$1(elm, 'td[data-mce-selected],th[data-mce-selected]'); + }; + var getCellsFromElementOrRanges = function (ranges, element) { + var selectedCells = getCellsFromElement(element); + var rangeCells = getCellsFromRanges(ranges); + return selectedCells.length > 0 ? selectedCells : rangeCells; + }; + var getCellsFromEditor = function (editor) { + return getCellsFromElementOrRanges(MultiRange.getRanges(editor.selection.getSel()), Element.fromDom(editor.getBody())); + }; + var TableCellSelection = { + getCellsFromRanges: getCellsFromRanges, + getCellsFromElement: getCellsFromElement, + getCellsFromElementOrRanges: getCellsFromElementOrRanges, + getCellsFromEditor: getCellsFromEditor + }; + + var findParentListContainer = function (parents) { + return find(parents, function (elm) { + return name(elm) === 'ul' || name(elm) === 'ol'; + }); + }; + var getFullySelectedListWrappers = function (parents, rng) { + return find(parents, function (elm) { + return name(elm) === 'li' && hasAllContentsSelected(elm, rng); + }).fold(constant([]), function (li) { + return findParentListContainer(parents).map(function (listCont) { + return [ + Element.fromTag('li'), + Element.fromTag(name(listCont)) + ]; + }).getOr([]); + }); + }; + var wrap$3 = function (innerElm, elms) { + var wrapped = foldl(elms, function (acc, elm) { + append(elm, acc); + return elm; + }, innerElm); + return elms.length > 0 ? fromElements([wrapped]) : wrapped; + }; + var directListWrappers = function (commonAnchorContainer) { + if (isListItem(commonAnchorContainer)) { + return parent(commonAnchorContainer).filter(isList).fold(constant([]), function (listElm) { + return [ + commonAnchorContainer, + listElm + ]; + }); + } else { + return isList(commonAnchorContainer) ? [commonAnchorContainer] : []; + } + }; + var getWrapElements = function (rootNode, rng) { + var commonAnchorContainer = Element.fromDom(rng.commonAncestorContainer); + var parents = Parents.parentsAndSelf(commonAnchorContainer, rootNode); + var wrapElements = filter(parents, function (elm) { + return isInline(elm) || isHeading(elm); + }); + var listWrappers = getFullySelectedListWrappers(parents, rng); + var allWrappers = wrapElements.concat(listWrappers.length ? listWrappers : directListWrappers(commonAnchorContainer)); + return map(allWrappers, shallow); + }; + var emptyFragment = function () { + return fromElements([]); + }; + var getFragmentFromRange = function (rootNode, rng) { + return wrap$3(Element.fromDom(rng.cloneContents()), getWrapElements(rootNode, rng)); + }; + var getParentTable = function (rootElm, cell) { + return ancestor$1(cell, 'table', curry(eq, rootElm)); + }; + var getTableFragment = function (rootNode, selectedTableCells) { + return getParentTable(rootNode, selectedTableCells[0]).bind(function (tableElm) { + var firstCell = selectedTableCells[0]; + var lastCell = selectedTableCells[selectedTableCells.length - 1]; + var fullTableModel = SimpleTableModel.fromDom(tableElm); + return SimpleTableModel.subsection(fullTableModel, firstCell, lastCell).map(function (sectionedTableModel) { + return fromElements([SimpleTableModel.toDom(sectionedTableModel)]); + }); + }).getOrThunk(emptyFragment); + }; + var getSelectionFragment = function (rootNode, ranges) { + return ranges.length > 0 && ranges[0].collapsed ? emptyFragment() : getFragmentFromRange(rootNode, ranges[0]); + }; + var read$2 = function (rootNode, ranges) { + var selectedCells = TableCellSelection.getCellsFromElementOrRanges(ranges, rootNode); + return selectedCells.length > 0 ? getTableFragment(rootNode, selectedCells) : getSelectionFragment(rootNode, ranges); + }; + var FragmentReader = { read: read$2 }; + + var getTextContent = function (editor) { + return Option.from(editor.selection.getRng()).map(function (rng) { + var bin = editor.dom.add(editor.getBody(), 'div', { + 'data-mce-bogus': 'all', + 'style': 'overflow: hidden; opacity: 0;' + }, rng.cloneContents()); + var text = Zwsp.trim(bin.innerText); + editor.dom.remove(bin); + return text; + }).getOr(''); + }; + var getHtmlContent = function (editor, args) { + var rng = editor.selection.getRng(), tmpElm = editor.dom.create('body'); + var sel = editor.selection.getSel(); + var fragment; + var ranges = EventProcessRanges.processRanges(editor, MultiRange.getRanges(sel)); + fragment = args.contextual ? FragmentReader.read(Element.fromDom(editor.getBody()), ranges).dom() : rng.cloneContents(); + if (fragment) { + tmpElm.appendChild(fragment); + } + return editor.selection.serializer.serialize(tmpElm, args); + }; + var getContent$1 = function (editor, args) { + if (args === void 0) { + args = {}; + } + args.get = true; + args.format = args.format || 'html'; + args.selection = true; + args = editor.fire('BeforeGetContent', args); + if (args.isDefaultPrevented()) { + editor.fire('GetContent', args); + return args.content; + } + if (args.format === 'text') { + return getTextContent(editor); + } else { + args.getInner = true; + var content = getHtmlContent(editor, args); + if (args.format === 'tree') { + return content; + } else { + args.content = editor.selection.isCollapsed() ? '' : content; + editor.fire('GetContent', args); + return args.content; + } + } + }; + var GetSelectionContent = { getContent: getContent$1 }; + + var findParent$1 = function (node, rootNode, predicate) { + while (node && node !== rootNode) { + if (predicate(node)) { + return node; + } + node = node.parentNode; + } + return null; + }; + var hasParent = function (node, rootNode, predicate) { + return findParent$1(node, rootNode, predicate) !== null; + }; + var hasParentWithName = function (node, rootNode, name) { + return hasParent(node, rootNode, function (node) { + return node.nodeName === name; + }); + }; + var isTable$3 = function (node) { + return node && node.nodeName === 'TABLE'; + }; + var isTableCell$3 = function (node) { + return node && /^(TD|TH|CAPTION)$/.test(node.nodeName); + }; + var isCeFalseCaretContainer = function (node, rootNode) { + return isCaretContainer(node) && hasParent(node, rootNode, isCaretNode) === false; + }; + var hasBrBeforeAfter = function (dom, node, left) { + var walker = new TreeWalker(node, dom.getParent(node.parentNode, dom.isBlock) || dom.getRoot()); + while (node = walker[left ? 'prev' : 'next']()) { + if (NodeType.isBr(node)) { + return true; + } + } + }; + var isPrevNode = function (node, name) { + return node.previousSibling && node.previousSibling.nodeName === name; + }; + var hasContentEditableFalseParent = function (body, node) { + while (node && node !== body) { + if (NodeType.isContentEditableFalse(node)) { + return true; + } + node = node.parentNode; + } + return false; + }; + var findTextNodeRelative = function (dom, isAfterNode, collapsed, left, startNode) { + var lastInlineElement; + var body = dom.getRoot(); + var node; + var nonEmptyElementsMap = dom.schema.getNonEmptyElements(); + var parentBlockContainer = dom.getParent(startNode.parentNode, dom.isBlock) || body; + if (left && NodeType.isBr(startNode) && isAfterNode && dom.isEmpty(parentBlockContainer)) { + return Option.some(CaretPosition(startNode.parentNode, dom.nodeIndex(startNode))); + } + var walker = new TreeWalker(startNode, parentBlockContainer); + while (node = walker[left ? 'prev' : 'next']()) { + if (dom.getContentEditableParent(node) === 'false' || isCeFalseCaretContainer(node, body)) { + return Option.none(); + } + if (NodeType.isText(node) && node.nodeValue.length > 0) { + if (hasParentWithName(node, body, 'A') === false) { + return Option.some(CaretPosition(node, left ? node.nodeValue.length : 0)); + } + return Option.none(); + } + if (dom.isBlock(node) || nonEmptyElementsMap[node.nodeName.toLowerCase()]) { + return Option.none(); + } + lastInlineElement = node; + } + if (collapsed && lastInlineElement) { + return Option.some(CaretPosition(lastInlineElement, 0)); + } + return Option.none(); + }; + var normalizeEndPoint = function (dom, collapsed, start, rng) { + var container, offset; + var body = dom.getRoot(); + var node, nonEmptyElementsMap; + var directionLeft, isAfterNode, normalized = false; + container = rng[(start ? 'start' : 'end') + 'Container']; + offset = rng[(start ? 'start' : 'end') + 'Offset']; + isAfterNode = NodeType.isElement(container) && offset === container.childNodes.length; + nonEmptyElementsMap = dom.schema.getNonEmptyElements(); + directionLeft = start; + if (isCaretContainer(container)) { + return Option.none(); + } + if (NodeType.isElement(container) && offset > container.childNodes.length - 1) { + directionLeft = false; + } + if (NodeType.isDocument(container)) { + container = body; + offset = 0; + } + if (container === body) { + if (directionLeft) { + node = container.childNodes[offset > 0 ? offset - 1 : 0]; + if (node) { + if (isCaretContainer(node)) { + return Option.none(); + } + if (nonEmptyElementsMap[node.nodeName] || isTable$3(node)) { + return Option.none(); + } + } + } + if (container.hasChildNodes()) { + offset = Math.min(!directionLeft && offset > 0 ? offset - 1 : offset, container.childNodes.length - 1); + container = container.childNodes[offset]; + offset = NodeType.isText(container) && isAfterNode ? container.data.length : 0; + if (!collapsed && container === body.lastChild && isTable$3(container)) { + return Option.none(); + } + if (hasContentEditableFalseParent(body, container) || isCaretContainer(container)) { + return Option.none(); + } + if (container.hasChildNodes() && isTable$3(container) === false) { + node = container; + var walker = new TreeWalker(container, body); + do { + if (NodeType.isContentEditableFalse(node) || isCaretContainer(node)) { + normalized = false; + break; + } + if (NodeType.isText(node) && node.nodeValue.length > 0) { + offset = directionLeft ? 0 : node.nodeValue.length; + container = node; + normalized = true; + break; + } + if (nonEmptyElementsMap[node.nodeName.toLowerCase()] && !isTableCell$3(node)) { + offset = dom.nodeIndex(node); + container = node.parentNode; + if (!directionLeft) { + offset++; + } + normalized = true; + break; + } + } while (node = directionLeft ? walker.next() : walker.prev()); + } + } + } + if (collapsed) { + if (NodeType.isText(container) && offset === 0) { + findTextNodeRelative(dom, isAfterNode, collapsed, true, container).each(function (pos) { + container = pos.container(); + offset = pos.offset(); + normalized = true; + }); + } + if (NodeType.isElement(container)) { + node = container.childNodes[offset]; + if (!node) { + node = container.childNodes[offset - 1]; + } + if (node && NodeType.isBr(node) && !isPrevNode(node, 'A') && !hasBrBeforeAfter(dom, node, false) && !hasBrBeforeAfter(dom, node, true)) { + findTextNodeRelative(dom, isAfterNode, collapsed, true, node).each(function (pos) { + container = pos.container(); + offset = pos.offset(); + normalized = true; + }); + } + } + } + if (directionLeft && !collapsed && NodeType.isText(container) && offset === container.nodeValue.length) { + findTextNodeRelative(dom, isAfterNode, collapsed, false, container).each(function (pos) { + container = pos.container(); + offset = pos.offset(); + normalized = true; + }); + } + return normalized ? Option.some(CaretPosition(container, offset)) : Option.none(); + }; + var normalize$2 = function (dom, rng) { + var collapsed = rng.collapsed, normRng = rng.cloneRange(); + var startPos = CaretPosition.fromRangeStart(rng); + normalizeEndPoint(dom, collapsed, true, normRng).each(function (pos) { + if (!collapsed || !CaretPosition.isAbove(startPos, pos)) { + normRng.setStart(pos.container(), pos.offset()); + } + }); + if (!collapsed) { + normalizeEndPoint(dom, collapsed, false, normRng).each(function (pos) { + normRng.setEnd(pos.container(), pos.offset()); + }); + } + if (collapsed) { + normRng.collapse(true); + } + return RangeCompare.isEq(rng, normRng) ? Option.none() : Option.some(normRng); + }; + var NormalizeRange = { normalize: normalize$2 }; + + var prependData = function (target, data) { + target.insertData(0, data); + }; + var removeEmpty = function (text) { + if (text.dom().length === 0) { + remove$1(text); + return Option.none(); + } + return Option.some(text); + }; + var rngSetContent = function (rng, fragment) { + var firstChild = Option.from(fragment.firstChild).map(Element.fromDom); + var lastChild = Option.from(fragment.lastChild).map(Element.fromDom); + rng.deleteContents(); + rng.insertNode(fragment); + var prevText = firstChild.bind(prevSibling).filter(isText$1).bind(removeEmpty); + var nextText = lastChild.bind(nextSibling).filter(isText$1).bind(removeEmpty); + lift2(prevText, firstChild.filter(isText$1), function (prev, start) { + prependData(start.dom(), prev.dom().data); + remove$1(prev); + }); + lift2(nextText, lastChild.filter(isText$1), function (next, end) { + var oldLength = end.dom().length; + end.dom().appendData(next.dom().data); + rng.setEnd(end.dom(), oldLength); + remove$1(next); + }); + rng.collapse(false); + }; + var setupArgs = function (args, content) { + args = args || { format: 'html' }; + args.set = true; + args.selection = true; + args.content = content; + return args; + }; + var setContent$1 = function (editor, content, args) { + args = setupArgs(args, content); + if (!args.no_events) { + args = editor.fire('BeforeSetContent', args); + if (args.isDefaultPrevented()) { + editor.fire('SetContent', args); + return; + } + } + var rng = editor.selection.getRng(); + rngSetContent(rng, rng.createContextualFragment(args.content)); + editor.selection.setRng(rng); + ScrollIntoView.scrollRangeIntoView(editor, rng); + if (!args.no_events) { + editor.fire('SetContent', args); + } + }; + var SetSelectionContent = { setContent: setContent$1 }; + + var getEndpointElement = function (root, rng, start, real, resolve) { + var container = start ? rng.startContainer : rng.endContainer; + var offset = start ? rng.startOffset : rng.endOffset; + return Option.from(container).map(Element.fromDom).map(function (elm) { + return !real || !rng.collapsed ? child(elm, resolve(elm, offset)).getOr(elm) : elm; + }).bind(function (elm) { + return isElement$1(elm) ? Option.some(elm) : parent(elm); + }).map(function (elm) { + return elm.dom(); + }).getOr(root); + }; + var getStart$2 = function (root, rng, real) { + return getEndpointElement(root, rng, true, real, function (elm, offset) { + return Math.min(childNodesCount(elm), offset); + }); + }; + var getEnd = function (root, rng, real) { + return getEndpointElement(root, rng, false, real, function (elm, offset) { + return offset > 0 ? offset - 1 : offset; + }); + }; + var skipEmptyTextNodes = function (node, forwards) { + var orig = node; + while (node && NodeType.isText(node) && node.length === 0) { + node = forwards ? node.nextSibling : node.previousSibling; + } + return node || orig; + }; + var getNode$1 = function (root, rng) { + var elm, startContainer, endContainer, startOffset, endOffset; + if (!rng) { + return root; + } + startContainer = rng.startContainer; + endContainer = rng.endContainer; + startOffset = rng.startOffset; + endOffset = rng.endOffset; + elm = rng.commonAncestorContainer; + if (!rng.collapsed) { + if (startContainer === endContainer) { + if (endOffset - startOffset < 2) { + if (startContainer.hasChildNodes()) { + elm = startContainer.childNodes[startOffset]; + } + } + } + if (startContainer.nodeType === 3 && endContainer.nodeType === 3) { + if (startContainer.length === startOffset) { + startContainer = skipEmptyTextNodes(startContainer.nextSibling, true); + } else { + startContainer = startContainer.parentNode; + } + if (endOffset === 0) { + endContainer = skipEmptyTextNodes(endContainer.previousSibling, false); + } else { + endContainer = endContainer.parentNode; + } + if (startContainer && startContainer === endContainer) { + return startContainer; + } + } + } + if (elm && elm.nodeType === 3) { + return elm.parentNode; + } + return elm; + }; + var getSelectedBlocks = function (dom, rng, startElm, endElm) { + var node, root; + var selectedBlocks = []; + root = dom.getRoot(); + startElm = dom.getParent(startElm || getStart$2(root, rng, rng.collapsed), dom.isBlock); + endElm = dom.getParent(endElm || getEnd(root, rng, rng.collapsed), dom.isBlock); + if (startElm && startElm !== root) { + selectedBlocks.push(startElm); + } + if (startElm && endElm && startElm !== endElm) { + node = startElm; + var walker = new TreeWalker(startElm, root); + while ((node = walker.next()) && node !== endElm) { + if (dom.isBlock(node)) { + selectedBlocks.push(node); + } + } + } + if (endElm && startElm !== endElm && endElm !== root) { + selectedBlocks.push(endElm); + } + return selectedBlocks; + }; + var select$1 = function (dom, node, content) { + return Option.from(node).map(function (node) { + var idx = dom.nodeIndex(node); + var rng = dom.createRng(); + rng.setStart(node.parentNode, idx); + rng.setEnd(node.parentNode, idx + 1); + if (content) { + moveEndPoint$1(dom, rng, node, true); + moveEndPoint$1(dom, rng, node, false); + } + return rng; + }); + }; + + var deleteFromCallbackMap = function (callbackMap, selector, callback) { + if (callbackMap && callbackMap.hasOwnProperty(selector)) { + var newCallbacks = filter(callbackMap[selector], function (cb) { + return cb !== callback; + }); + if (newCallbacks.length === 0) { + delete callbackMap[selector]; + } else { + callbackMap[selector] = newCallbacks; + } + } + }; + function SelectorChanged (dom, editor) { + var selectorChangedData; + var currentSelectors; + return { + selectorChangedWithUnbind: function (selector, callback) { + if (!selectorChangedData) { + selectorChangedData = {}; + currentSelectors = {}; + editor.on('NodeChange', function (e) { + var node = e.element, parents = dom.getParents(node, null, dom.getRoot()), matchedSelectors = {}; + Tools.each(selectorChangedData, function (callbacks, selector) { + Tools.each(parents, function (node) { + if (dom.is(node, selector)) { + if (!currentSelectors[selector]) { + Tools.each(callbacks, function (callback) { + callback(true, { + node: node, + selector: selector, + parents: parents + }); + }); + currentSelectors[selector] = callbacks; + } + matchedSelectors[selector] = callbacks; + return false; + } + }); + }); + Tools.each(currentSelectors, function (callbacks, selector) { + if (!matchedSelectors[selector]) { + delete currentSelectors[selector]; + Tools.each(callbacks, function (callback) { + callback(false, { + node: node, + selector: selector, + parents: parents + }); + }); + } + }); + }); + } + if (!selectorChangedData[selector]) { + selectorChangedData[selector] = []; + } + selectorChangedData[selector].push(callback); + return { + unbind: function () { + deleteFromCallbackMap(selectorChangedData, selector, callback); + deleteFromCallbackMap(currentSelectors, selector, callback); + } + }; + } + }; + } + + var isNativeIeSelection = function (rng) { + return !!rng.select; + }; + var isAttachedToDom = function (node) { + return !!(node && node.ownerDocument) && contains$2(Element.fromDom(node.ownerDocument), Element.fromDom(node)); + }; + var isValidRange = function (rng) { + if (!rng) { + return false; + } else if (isNativeIeSelection(rng)) { + return true; + } else { + return isAttachedToDom(rng.startContainer) && isAttachedToDom(rng.endContainer); + } + }; + var Selection$1 = function (dom, win, serializer, editor) { + var bookmarkManager; + var controlSelection; + var selectedRange; + var explicitRange; + var selectorChangedWithUnbind = SelectorChanged(dom, editor).selectorChangedWithUnbind; + var setCursorLocation = function (node, offset) { + var rng = dom.createRng(); + if (!node) { + moveEndPoint$1(dom, rng, editor.getBody(), true); + setRng(rng); + } else { + rng.setStart(node, offset); + rng.setEnd(node, offset); + setRng(rng); + collapse(false); + } + }; + var getContent = function (args) { + return GetSelectionContent.getContent(editor, args); + }; + var setContent = function (content, args) { + return SetSelectionContent.setContent(editor, content, args); + }; + var getStart = function (real) { + return getStart$2(editor.getBody(), getRng(), real); + }; + var getEnd$1 = function (real) { + return getEnd(editor.getBody(), getRng(), real); + }; + var getBookmark = function (type, normalized) { + return bookmarkManager.getBookmark(type, normalized); + }; + var moveToBookmark = function (bookmark) { + return bookmarkManager.moveToBookmark(bookmark); + }; + var select = function (node, content) { + select$1(dom, node, content).each(setRng); + return node; + }; + var isCollapsed = function () { + var rng = getRng(), sel = getSel(); + if (!rng || rng.item) { + return false; + } + if (rng.compareEndPoints) { + return rng.compareEndPoints('StartToEnd', rng) === 0; + } + return !sel || rng.collapsed; + }; + var collapse = function (toStart) { + var rng = getRng(); + rng.collapse(!!toStart); + setRng(rng); + }; + var getSel = function () { + return win.getSelection ? win.getSelection() : win.document.selection; + }; + var getRng = function () { + var selection, rng, elm, doc; + var tryCompareBoundaryPoints = function (how, sourceRange, destinationRange) { + try { + return sourceRange.compareBoundaryPoints(how, destinationRange); + } catch (ex) { + return -1; + } + }; + if (!win) { + return null; + } + doc = win.document; + if (typeof doc === 'undefined' || doc === null) { + return null; + } + if (editor.bookmark !== undefined && EditorFocus.hasFocus(editor) === false) { + var bookmark = SelectionBookmark.getRng(editor); + if (bookmark.isSome()) { + return bookmark.map(function (r) { + return EventProcessRanges.processRanges(editor, [r])[0]; + }).getOr(doc.createRange()); + } + } + try { + if ((selection = getSel()) && !NodeType.isRestrictedNode(selection.anchorNode)) { + if (selection.rangeCount > 0) { + rng = selection.getRangeAt(0); + } else { + rng = selection.createRange ? selection.createRange() : doc.createRange(); + } + } + } catch (ex) { + } + rng = EventProcessRanges.processRanges(editor, [rng])[0]; + if (!rng) { + rng = doc.createRange ? doc.createRange() : doc.body.createTextRange(); + } + if (rng.setStart && rng.startContainer.nodeType === 9 && rng.collapsed) { + elm = dom.getRoot(); + rng.setStart(elm, 0); + rng.setEnd(elm, 0); + } + if (selectedRange && explicitRange) { + if (tryCompareBoundaryPoints(rng.START_TO_START, rng, selectedRange) === 0 && tryCompareBoundaryPoints(rng.END_TO_END, rng, selectedRange) === 0) { + rng = explicitRange; + } else { + selectedRange = null; + explicitRange = null; + } + } + return rng; + }; + var setRng = function (rng, forward) { + var sel, node, evt; + if (!isValidRange(rng)) { + return; + } + var ieRange = isNativeIeSelection(rng) ? rng : null; + if (ieRange) { + explicitRange = null; + try { + ieRange.select(); + } catch (ex) { + } + return; + } + sel = getSel(); + evt = editor.fire('SetSelectionRange', { + range: rng, + forward: forward + }); + rng = evt.range; + if (sel) { + explicitRange = rng; + try { + sel.removeAllRanges(); + sel.addRange(rng); + } catch (ex) { + } + if (forward === false && sel.extend) { + sel.collapse(rng.endContainer, rng.endOffset); + sel.extend(rng.startContainer, rng.startOffset); + } + selectedRange = sel.rangeCount > 0 ? sel.getRangeAt(0) : null; + } + if (!rng.collapsed && rng.startContainer === rng.endContainer && sel.setBaseAndExtent && !Env.ie) { + if (rng.endOffset - rng.startOffset < 2) { + if (rng.startContainer.hasChildNodes()) { + node = rng.startContainer.childNodes[rng.startOffset]; + if (node && node.tagName === 'IMG') { + sel.setBaseAndExtent(rng.startContainer, rng.startOffset, rng.endContainer, rng.endOffset); + if (sel.anchorNode !== rng.startContainer || sel.focusNode !== rng.endContainer) { + sel.setBaseAndExtent(node, 0, node, 1); + } + } + } + } + } + editor.fire('AfterSetSelectionRange', { + range: rng, + forward: forward + }); + }; + var setNode = function (elm) { + setContent(dom.getOuterHTML(elm)); + return elm; + }; + var getNode = function () { + return getNode$1(editor.getBody(), getRng()); + }; + var getSelectedBlocks$1 = function (startElm, endElm) { + return getSelectedBlocks(dom, getRng(), startElm, endElm); + }; + var isForward = function () { + var sel = getSel(); + var anchorRange, focusRange; + if (!sel || !sel.anchorNode || !sel.focusNode) { + return true; + } + anchorRange = dom.createRng(); + anchorRange.setStart(sel.anchorNode, sel.anchorOffset); + anchorRange.collapse(true); + focusRange = dom.createRng(); + focusRange.setStart(sel.focusNode, sel.focusOffset); + focusRange.collapse(true); + return anchorRange.compareBoundaryPoints(anchorRange.START_TO_START, focusRange) <= 0; + }; + var normalize = function () { + var rng = getRng(); + var sel = getSel(); + if (!MultiRange.hasMultipleRanges(sel) && hasAnyRanges(editor)) { + var normRng = NormalizeRange.normalize(dom, rng); + normRng.each(function (normRng) { + setRng(normRng, isForward()); + }); + return normRng.getOr(rng); + } + return rng; + }; + var selectorChanged = function (selector, callback) { + selectorChangedWithUnbind(selector, callback); + return exports; + }; + var getScrollContainer = function () { + var scrollContainer; + var node = dom.getRoot(); + while (node && node.nodeName !== 'BODY') { + if (node.scrollHeight > node.clientHeight) { + scrollContainer = node; + break; + } + node = node.parentNode; + } + return scrollContainer; + }; + var scrollIntoView = function (elm, alignToTop) { + return ScrollIntoView.scrollElementIntoView(editor, elm, alignToTop); + }; + var placeCaretAt = function (clientX, clientY) { + return setRng(CaretRangeFromPoint.fromPoint(clientX, clientY, editor.getDoc())); + }; + var getBoundingClientRect = function () { + var rng = getRng(); + return rng.collapsed ? CaretPosition$1.fromRangeStart(rng).getClientRects()[0] : rng.getBoundingClientRect(); + }; + var destroy = function () { + win = selectedRange = explicitRange = null; + controlSelection.destroy(); + }; + var exports = { + bookmarkManager: null, + controlSelection: null, + dom: dom, + win: win, + serializer: serializer, + editor: editor, + collapse: collapse, + setCursorLocation: setCursorLocation, + getContent: getContent, + setContent: setContent, + getBookmark: getBookmark, + moveToBookmark: moveToBookmark, + select: select, + isCollapsed: isCollapsed, + isForward: isForward, + setNode: setNode, + getNode: getNode, + getSel: getSel, + setRng: setRng, + getRng: getRng, + getStart: getStart, + getEnd: getEnd$1, + getSelectedBlocks: getSelectedBlocks$1, + normalize: normalize, + selectorChanged: selectorChanged, + selectorChangedWithUnbind: selectorChangedWithUnbind, + getScrollContainer: getScrollContainer, + scrollIntoView: scrollIntoView, + placeCaretAt: placeCaretAt, + getBoundingClientRect: getBoundingClientRect, + destroy: destroy + }; + bookmarkManager = BookmarkManager$1(exports); + controlSelection = ControlSelection(exports, editor); + exports.bookmarkManager = bookmarkManager; + exports.controlSelection = controlSelection; + return exports; + }; + + var isText$8 = NodeType.isText; + var startsWithCaretContainer$1 = function (node) { + return isText$8(node) && node.data[0] === Zwsp.ZWSP; + }; + var endsWithCaretContainer$1 = function (node) { + return isText$8(node) && node.data[node.data.length - 1] === Zwsp.ZWSP; + }; + var createZwsp = function (node) { + return node.ownerDocument.createTextNode(Zwsp.ZWSP); + }; + var insertBefore = function (node) { + if (isText$8(node.previousSibling)) { + if (endsWithCaretContainer$1(node.previousSibling)) { + return node.previousSibling; + } else { + node.previousSibling.appendData(Zwsp.ZWSP); + return node.previousSibling; + } + } else if (isText$8(node)) { + if (startsWithCaretContainer$1(node)) { + return node; + } else { + node.insertData(0, Zwsp.ZWSP); + return node; + } + } else { + var newNode = createZwsp(node); + node.parentNode.insertBefore(newNode, node); + return newNode; + } + }; + var insertAfter = function (node) { + if (isText$8(node.nextSibling)) { + if (startsWithCaretContainer$1(node.nextSibling)) { + return node.nextSibling; + } else { + node.nextSibling.insertData(0, Zwsp.ZWSP); + return node.nextSibling; + } + } else if (isText$8(node)) { + if (endsWithCaretContainer$1(node)) { + return node; + } else { + node.appendData(Zwsp.ZWSP); + return node; + } + } else { + var newNode = createZwsp(node); + if (node.nextSibling) { + node.parentNode.insertBefore(newNode, node.nextSibling); + } else { + node.parentNode.appendChild(newNode); + } + return newNode; + } + }; + var insertInline$1 = function (before, node) { + return before ? insertBefore(node) : insertAfter(node); + }; + var insertInlineBefore = curry(insertInline$1, true); + var insertInlineAfter = curry(insertInline$1, false); + + var insertInlinePos = function (pos, before) { + if (NodeType.isText(pos.container())) { + return insertInline$1(before, pos.container()); + } else { + return insertInline$1(before, pos.getNode()); + } + }; + var isPosCaretContainer = function (pos, caret) { + var caretNode = caret.get(); + return caretNode && pos.container() === caretNode && isCaretContainerInline(caretNode); + }; + var renderCaret = function (caret, location) { + return location.fold(function (element) { + CaretContainerRemove.remove(caret.get()); + var text = insertInlineBefore(element); + caret.set(text); + return Option.some(CaretPosition$1(text, text.length - 1)); + }, function (element) { + return CaretFinder.firstPositionIn(element).map(function (pos) { + if (!isPosCaretContainer(pos, caret)) { + CaretContainerRemove.remove(caret.get()); + var text = insertInlinePos(pos, true); + caret.set(text); + return CaretPosition$1(text, 1); + } else { + return CaretPosition$1(caret.get(), 1); + } + }); + }, function (element) { + return CaretFinder.lastPositionIn(element).map(function (pos) { + if (!isPosCaretContainer(pos, caret)) { + CaretContainerRemove.remove(caret.get()); + var text = insertInlinePos(pos, false); + caret.set(text); + return CaretPosition$1(text, text.length - 1); + } else { + return CaretPosition$1(caret.get(), caret.get().length - 1); + } + }); + }, function (element) { + CaretContainerRemove.remove(caret.get()); + var text = insertInlineAfter(element); + caret.set(text); + return Option.some(CaretPosition$1(text, 1)); + }); + }; + var BoundaryCaret = { renderCaret: renderCaret }; + + var strongRtl = /[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/; + var hasStrongRtl = function (text) { + return strongRtl.test(text); + }; + + var isInlineTarget = function (editor, elm) { + return is(Element.fromDom(elm), Settings.getInlineBoundarySelector(editor)); + }; + var isRtl$1 = function (element) { + return DOMUtils$1.DOM.getStyle(element, 'direction', true) === 'rtl' || hasStrongRtl(element.textContent); + }; + var findInlineParents = function (isInlineTarget, rootNode, pos) { + return filter(DOMUtils$1.DOM.getParents(pos.container(), '*', rootNode), isInlineTarget); + }; + var findRootInline = function (isInlineTarget, rootNode, pos) { + var parents = findInlineParents(isInlineTarget, rootNode, pos); + return Option.from(parents[parents.length - 1]); + }; + var hasSameParentBlock = function (rootNode, node1, node2) { + var block1 = getParentBlock(node1, rootNode); + var block2 = getParentBlock(node2, rootNode); + return block1 && block1 === block2; + }; + var isAtZwsp = function (pos) { + return isBeforeInline(pos) || isAfterInline(pos); + }; + var normalizePosition = function (forward, pos) { + if (!pos) { + return pos; + } + var container = pos.container(), offset = pos.offset(); + if (forward) { + if (isCaretContainerInline(container)) { + if (NodeType.isText(container.nextSibling)) { + return CaretPosition$1(container.nextSibling, 0); + } else { + return CaretPosition$1.after(container); + } + } else { + return isBeforeInline(pos) ? CaretPosition$1(container, offset + 1) : pos; + } + } else { + if (isCaretContainerInline(container)) { + if (NodeType.isText(container.previousSibling)) { + return CaretPosition$1(container.previousSibling, container.previousSibling.data.length); + } else { + return CaretPosition$1.before(container); + } + } else { + return isAfterInline(pos) ? CaretPosition$1(container, offset - 1) : pos; + } + } + }; + var normalizeForwards = curry(normalizePosition, true); + var normalizeBackwards = curry(normalizePosition, false); + var InlineUtils = { + isInlineTarget: isInlineTarget, + findRootInline: findRootInline, + isRtl: isRtl$1, + isAtZwsp: isAtZwsp, + normalizePosition: normalizePosition, + normalizeForwards: normalizeForwards, + normalizeBackwards: normalizeBackwards, + hasSameParentBlock: hasSameParentBlock + }; + + var evaluateUntil = function (fns, args) { + for (var i = 0; i < fns.length; i++) { + var result = fns[i].apply(null, args); + if (result.isSome()) { + return result; + } + } + return Option.none(); + }; + var LazyEvaluator = { evaluateUntil: evaluateUntil }; + + var Location = Adt.generate([ + { before: ['element'] }, + { start: ['element'] }, + { end: ['element'] }, + { after: ['element'] } + ]); + var rescope = function (rootNode, node) { + var parentBlock = getParentBlock(node, rootNode); + return parentBlock ? parentBlock : rootNode; + }; + var before$4 = function (isInlineTarget, rootNode, pos) { + var nPos = InlineUtils.normalizeForwards(pos); + var scope = rescope(rootNode, nPos.container()); + return InlineUtils.findRootInline(isInlineTarget, scope, nPos).fold(function () { + return CaretFinder.nextPosition(scope, nPos).bind(curry(InlineUtils.findRootInline, isInlineTarget, scope)).map(function (inline) { + return Location.before(inline); + }); + }, Option.none); + }; + var isNotInsideFormatCaretContainer = function (rootNode, elm) { + return getParentCaretContainer(rootNode, elm) === null; + }; + var findInsideRootInline = function (isInlineTarget, rootNode, pos) { + return InlineUtils.findRootInline(isInlineTarget, rootNode, pos).filter(curry(isNotInsideFormatCaretContainer, rootNode)); + }; + var start$1 = function (isInlineTarget, rootNode, pos) { + var nPos = InlineUtils.normalizeBackwards(pos); + return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(function (inline) { + var prevPos = CaretFinder.prevPosition(inline, nPos); + return prevPos.isNone() ? Option.some(Location.start(inline)) : Option.none(); + }); + }; + var end = function (isInlineTarget, rootNode, pos) { + var nPos = InlineUtils.normalizeForwards(pos); + return findInsideRootInline(isInlineTarget, rootNode, nPos).bind(function (inline) { + var nextPos = CaretFinder.nextPosition(inline, nPos); + return nextPos.isNone() ? Option.some(Location.end(inline)) : Option.none(); + }); + }; + var after$3 = function (isInlineTarget, rootNode, pos) { + var nPos = InlineUtils.normalizeBackwards(pos); + var scope = rescope(rootNode, nPos.container()); + return InlineUtils.findRootInline(isInlineTarget, scope, nPos).fold(function () { + return CaretFinder.prevPosition(scope, nPos).bind(curry(InlineUtils.findRootInline, isInlineTarget, scope)).map(function (inline) { + return Location.after(inline); + }); + }, Option.none); + }; + var isValidLocation = function (location) { + return InlineUtils.isRtl(getElement(location)) === false; + }; + var readLocation = function (isInlineTarget, rootNode, pos) { + var location = LazyEvaluator.evaluateUntil([ + before$4, + start$1, + end, + after$3 + ], [ + isInlineTarget, + rootNode, + pos + ]); + return location.filter(isValidLocation); + }; + var getElement = function (location) { + return location.fold(identity, identity, identity, identity); + }; + var getName = function (location) { + return location.fold(constant('before'), constant('start'), constant('end'), constant('after')); + }; + var outside = function (location) { + return location.fold(Location.before, Location.before, Location.after, Location.after); + }; + var inside = function (location) { + return location.fold(Location.start, Location.start, Location.end, Location.end); + }; + var isEq$5 = function (location1, location2) { + return getName(location1) === getName(location2) && getElement(location1) === getElement(location2); + }; + var betweenInlines = function (forward, isInlineTarget, rootNode, from, to, location) { + return lift2(InlineUtils.findRootInline(isInlineTarget, rootNode, from), InlineUtils.findRootInline(isInlineTarget, rootNode, to), function (fromInline, toInline) { + if (fromInline !== toInline && InlineUtils.hasSameParentBlock(rootNode, fromInline, toInline)) { + return Location.after(forward ? fromInline : toInline); + } else { + return location; + } + }).getOr(location); + }; + var skipNoMovement = function (fromLocation, toLocation) { + return fromLocation.fold(constant(true), function (fromLocation) { + return !isEq$5(fromLocation, toLocation); + }); + }; + var findLocationTraverse = function (forward, isInlineTarget, rootNode, fromLocation, pos) { + var from = InlineUtils.normalizePosition(forward, pos); + var to = CaretFinder.fromPosition(forward, rootNode, from).map(curry(InlineUtils.normalizePosition, forward)); + var location = to.fold(function () { + return fromLocation.map(outside); + }, function (to) { + return readLocation(isInlineTarget, rootNode, to).map(curry(betweenInlines, forward, isInlineTarget, rootNode, from, to)).filter(curry(skipNoMovement, fromLocation)); + }); + return location.filter(isValidLocation); + }; + var findLocationSimple = function (forward, location) { + if (forward) { + return location.fold(compose(Option.some, Location.start), Option.none, compose(Option.some, Location.after), Option.none); + } else { + return location.fold(Option.none, compose(Option.some, Location.before), Option.none, compose(Option.some, Location.end)); + } + }; + var findLocation = function (forward, isInlineTarget, rootNode, pos) { + var from = InlineUtils.normalizePosition(forward, pos); + var fromLocation = readLocation(isInlineTarget, rootNode, from); + return readLocation(isInlineTarget, rootNode, from).bind(curry(findLocationSimple, forward)).orThunk(function () { + return findLocationTraverse(forward, isInlineTarget, rootNode, fromLocation, pos); + }); + }; + var BoundaryLocation = { + readLocation: readLocation, + findLocation: findLocation, + prevLocation: curry(findLocation, false), + nextLocation: curry(findLocation, true), + getElement: getElement, + outside: outside, + inside: inside + }; + + var hasSelectionModifyApi = function (editor) { + return isFunction(editor.selection.getSel().modify); + }; + var moveRel = function (forward, selection, pos) { + var delta = forward ? 1 : -1; + selection.setRng(CaretPosition$1(pos.container(), pos.offset() + delta).toRange()); + selection.getSel().modify('move', forward ? 'forward' : 'backward', 'word'); + return true; + }; + var moveByWord = function (forward, editor) { + var rng = editor.selection.getRng(); + var pos = forward ? CaretPosition$1.fromRangeEnd(rng) : CaretPosition$1.fromRangeStart(rng); + if (!hasSelectionModifyApi(editor)) { + return false; + } else if (forward && isBeforeInline(pos)) { + return moveRel(true, editor.selection, pos); + } else if (!forward && isAfterInline(pos)) { + return moveRel(false, editor.selection, pos); + } else { + return false; + } + }; + var WordSelection = { + hasSelectionModifyApi: hasSelectionModifyApi, + moveByWord: moveByWord + }; + + var setCaretPosition = function (editor, pos) { + var rng = editor.dom.createRng(); + rng.setStart(pos.container(), pos.offset()); + rng.setEnd(pos.container(), pos.offset()); + editor.selection.setRng(rng); + }; + var isFeatureEnabled = function (editor) { + return editor.settings.inline_boundaries !== false; + }; + var setSelected = function (state, elm) { + if (state) { + elm.setAttribute('data-mce-selected', 'inline-boundary'); + } else { + elm.removeAttribute('data-mce-selected'); + } + }; + var renderCaretLocation = function (editor, caret, location) { + return BoundaryCaret.renderCaret(caret, location).map(function (pos) { + setCaretPosition(editor, pos); + return location; + }); + }; + var findLocation$1 = function (editor, caret, forward) { + var rootNode = editor.getBody(); + var from = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + var isInlineTarget = curry(InlineUtils.isInlineTarget, editor); + var location = BoundaryLocation.findLocation(forward, isInlineTarget, rootNode, from); + return location.bind(function (location) { + return renderCaretLocation(editor, caret, location); + }); + }; + var toggleInlines = function (isInlineTarget, dom, elms) { + var selectedInlines = filter(dom.select('*[data-mce-selected="inline-boundary"]'), isInlineTarget); + var targetInlines = filter(elms, isInlineTarget); + each(difference(selectedInlines, targetInlines), curry(setSelected, false)); + each(difference(targetInlines, selectedInlines), curry(setSelected, true)); + }; + var safeRemoveCaretContainer = function (editor, caret) { + if (editor.selection.isCollapsed() && editor.composing !== true && caret.get()) { + var pos = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + if (CaretPosition$1.isTextPosition(pos) && InlineUtils.isAtZwsp(pos) === false) { + setCaretPosition(editor, CaretContainerRemove.removeAndReposition(caret.get(), pos)); + caret.set(null); + } + } + }; + var renderInsideInlineCaret = function (isInlineTarget, editor, caret, elms) { + if (editor.selection.isCollapsed()) { + var inlines = filter(elms, isInlineTarget); + each(inlines, function (inline) { + var pos = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + BoundaryLocation.readLocation(isInlineTarget, editor.getBody(), pos).bind(function (location) { + return renderCaretLocation(editor, caret, location); + }); + }); + } + }; + var move$1 = function (editor, caret, forward) { + return function () { + return isFeatureEnabled(editor) ? findLocation$1(editor, caret, forward).isSome() : false; + }; + }; + var moveWord = function (forward, editor, caret) { + return function () { + return isFeatureEnabled(editor) ? WordSelection.moveByWord(forward, editor) : false; + }; + }; + var setupSelectedState = function (editor) { + var caret = Cell(null); + var isInlineTarget = curry(InlineUtils.isInlineTarget, editor); + editor.on('NodeChange', function (e) { + if (isFeatureEnabled(editor)) { + toggleInlines(isInlineTarget, editor.dom, e.parents); + safeRemoveCaretContainer(editor, caret); + renderInsideInlineCaret(isInlineTarget, editor, caret, e.parents); + } + }); + return caret; + }; + var moveNextWord = curry(moveWord, true); + var movePrevWord = curry(moveWord, false); + var BoundarySelection = { + move: move$1, + moveNextWord: moveNextWord, + movePrevWord: movePrevWord, + setupSelectedState: setupSelectedState, + setCaretPosition: setCaretPosition + }; + + var BreakType; + (function (BreakType) { + BreakType[BreakType['Br'] = 0] = 'Br'; + BreakType[BreakType['Block'] = 1] = 'Block'; + BreakType[BreakType['Wrap'] = 2] = 'Wrap'; + BreakType[BreakType['Eol'] = 3] = 'Eol'; + }(BreakType || (BreakType = {}))); + var flip = function (direction, positions) { + return direction === HDirection.Backwards ? positions.reverse() : positions; + }; + var walk$3 = function (direction, caretWalker, pos) { + return direction === HDirection.Forwards ? caretWalker.next(pos) : caretWalker.prev(pos); + }; + var getBreakType = function (scope, direction, currentPos, nextPos) { + if (NodeType.isBr(nextPos.getNode(direction === HDirection.Forwards))) { + return BreakType.Br; + } else if (isInSameBlock(currentPos, nextPos) === false) { + return BreakType.Block; + } else { + return BreakType.Wrap; + } + }; + var getPositionsUntil = function (predicate, direction, scope, start) { + var caretWalker = CaretWalker(scope); + var currentPos = start, nextPos; + var positions = []; + while (currentPos) { + nextPos = walk$3(direction, caretWalker, currentPos); + if (!nextPos) { + break; + } + if (NodeType.isBr(nextPos.getNode(false))) { + if (direction === HDirection.Forwards) { + return { + positions: flip(direction, positions).concat([nextPos]), + breakType: BreakType.Br, + breakAt: Option.some(nextPos) + }; + } else { + return { + positions: flip(direction, positions), + breakType: BreakType.Br, + breakAt: Option.some(nextPos) + }; + } + } + if (!nextPos.isVisible()) { + currentPos = nextPos; + continue; + } + if (predicate(currentPos, nextPos)) { + var breakType = getBreakType(scope, direction, currentPos, nextPos); + return { + positions: flip(direction, positions), + breakType: breakType, + breakAt: Option.some(nextPos) + }; + } + positions.push(nextPos); + currentPos = nextPos; + } + return { + positions: flip(direction, positions), + breakType: BreakType.Eol, + breakAt: Option.none() + }; + }; + var getAdjacentLinePositions = function (direction, getPositionsUntilBreak, scope, start) { + return getPositionsUntilBreak(scope, start).breakAt.map(function (pos) { + var positions = getPositionsUntilBreak(scope, pos).positions; + return direction === HDirection.Backwards ? positions.concat(pos) : [pos].concat(positions); + }).getOr([]); + }; + var findClosestHorizontalPositionFromPoint = function (positions, x) { + return foldl(positions, function (acc, newPos) { + return acc.fold(function () { + return Option.some(newPos); + }, function (lastPos) { + return lift2(head(lastPos.getClientRects()), head(newPos.getClientRects()), function (lastRect, newRect) { + var lastDist = Math.abs(x - lastRect.left); + var newDist = Math.abs(x - newRect.left); + return newDist <= lastDist ? newPos : lastPos; + }).or(acc); + }); + }, Option.none()); + }; + var findClosestHorizontalPosition = function (positions, pos) { + return head(pos.getClientRects()).bind(function (targetRect) { + return findClosestHorizontalPositionFromPoint(positions, targetRect.left); + }); + }; + var getPositionsUntilPreviousLine = curry(getPositionsUntil, CaretPosition.isAbove, -1); + var getPositionsUntilNextLine = curry(getPositionsUntil, CaretPosition.isBelow, 1); + var isAtFirstLine = function (scope, pos) { + return getPositionsUntilPreviousLine(scope, pos).breakAt.isNone(); + }; + var isAtLastLine = function (scope, pos) { + return getPositionsUntilNextLine(scope, pos).breakAt.isNone(); + }; + var getPositionsAbove = curry(getAdjacentLinePositions, -1, getPositionsUntilPreviousLine); + var getPositionsBelow = curry(getAdjacentLinePositions, 1, getPositionsUntilNextLine); + var getFirstLinePositions = function (scope) { + return CaretFinder.firstPositionIn(scope).map(function (pos) { + return [pos].concat(getPositionsUntilNextLine(scope, pos).positions); + }).getOr([]); + }; + var getLastLinePositions = function (scope) { + return CaretFinder.lastPositionIn(scope).map(function (pos) { + return getPositionsUntilPreviousLine(scope, pos).positions.concat(pos); + }).getOr([]); + }; + + var isContentEditableFalse$b = NodeType.isContentEditableFalse; + var getSelectedNode$1 = getSelectedNode; + var moveToCeFalseHorizontally = function (direction, editor, getNextPosFn, range) { + var forwards = direction === HDirection.Forwards; + var isBeforeContentEditableFalseFn = forwards ? isBeforeContentEditableFalse : isAfterContentEditableFalse; + if (!range.collapsed) { + var node = getSelectedNode$1(range); + if (isContentEditableFalse$b(node)) { + return showCaret(direction, editor, node, direction === HDirection.Backwards, true); + } + } + var rangeIsInContainerBlock = isRangeInCaretContainerBlock(range); + var caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range); + if (isBeforeContentEditableFalseFn(caretPosition)) { + return selectNode(editor, caretPosition.getNode(!forwards)); + } + var nextCaretPosition = InlineUtils.normalizePosition(forwards, getNextPosFn(caretPosition)); + if (!nextCaretPosition) { + if (rangeIsInContainerBlock) { + return range; + } + return null; + } + if (isBeforeContentEditableFalseFn(nextCaretPosition)) { + return showCaret(direction, editor, nextCaretPosition.getNode(!forwards), forwards, true); + } + var peekCaretPosition = getNextPosFn(nextCaretPosition); + if (peekCaretPosition && isBeforeContentEditableFalseFn(peekCaretPosition)) { + if (isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) { + return showCaret(direction, editor, peekCaretPosition.getNode(!forwards), forwards, true); + } + } + if (rangeIsInContainerBlock) { + return renderRangeCaret(editor, nextCaretPosition.toRange(), true); + } + return null; + }; + var moveToCeFalseVertically = function (direction, editor, walkerFn, range) { + var caretPosition, linePositions, nextLinePositions; + var closestNextLineRect, caretClientRect, clientX; + var dist1, dist2, contentEditableFalseNode; + contentEditableFalseNode = getSelectedNode$1(range); + caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range); + linePositions = walkerFn(editor.getBody(), isAboveLine(1), caretPosition); + nextLinePositions = filter(linePositions, isLine(1)); + caretClientRect = ArrUtils.last(caretPosition.getClientRects()); + if (isBeforeContentEditableFalse(caretPosition) || isBeforeTable(caretPosition)) { + contentEditableFalseNode = caretPosition.getNode(); + } + if (isAfterContentEditableFalse(caretPosition) || isAfterTable(caretPosition)) { + contentEditableFalseNode = caretPosition.getNode(true); + } + if (!caretClientRect) { + return null; + } + clientX = caretClientRect.left; + closestNextLineRect = findClosestClientRect(nextLinePositions, clientX); + if (closestNextLineRect) { + if (isContentEditableFalse$b(closestNextLineRect.node)) { + dist1 = Math.abs(clientX - closestNextLineRect.left); + dist2 = Math.abs(clientX - closestNextLineRect.right); + return showCaret(direction, editor, closestNextLineRect.node, dist1 < dist2, true); + } + } + if (contentEditableFalseNode) { + var caretPositions = positionsUntil(direction, editor.getBody(), isAboveLine(1), contentEditableFalseNode); + closestNextLineRect = findClosestClientRect(filter(caretPositions, isLine(1)), clientX); + if (closestNextLineRect) { + return renderRangeCaret(editor, closestNextLineRect.position.toRange(), true); + } + closestNextLineRect = ArrUtils.last(filter(caretPositions, isLine(0))); + if (closestNextLineRect) { + return renderRangeCaret(editor, closestNextLineRect.position.toRange(), true); + } + } + }; + var createTextBlock = function (editor) { + var textBlock = editor.dom.create(Settings.getForcedRootBlock(editor)); + if (!Env.ie || Env.ie >= 11) { + textBlock.innerHTML = '
'; + } + return textBlock; + }; + var exitPreBlock = function (editor, direction, range) { + var pre, caretPos, newBlock; + var caretWalker = CaretWalker(editor.getBody()); + var getNextVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.next); + var getPrevVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.prev); + if (range.collapsed && editor.settings.forced_root_block) { + pre = editor.dom.getParent(range.startContainer, 'PRE'); + if (!pre) { + return; + } + if (direction === 1) { + caretPos = getNextVisualCaretPosition(CaretPosition$1.fromRangeStart(range)); + } else { + caretPos = getPrevVisualCaretPosition(CaretPosition$1.fromRangeStart(range)); + } + if (!caretPos) { + newBlock = createTextBlock(editor); + if (direction === 1) { + editor.$(pre).after(newBlock); + } else { + editor.$(pre).before(newBlock); + } + editor.selection.select(newBlock, true); + editor.selection.collapse(); + } + } + }; + var getHorizontalRange = function (editor, forward) { + var caretWalker = CaretWalker(editor.getBody()); + var getNextVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.next); + var getPrevVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.prev); + var newRange; + var direction = forward ? HDirection.Forwards : HDirection.Backwards; + var getNextPosFn = forward ? getNextVisualCaretPosition : getPrevVisualCaretPosition; + var range = editor.selection.getRng(); + newRange = moveToCeFalseHorizontally(direction, editor, getNextPosFn, range); + if (newRange) { + return newRange; + } + newRange = exitPreBlock(editor, direction, range); + if (newRange) { + return newRange; + } + return null; + }; + var getVerticalRange = function (editor, down) { + var newRange; + var direction = down ? 1 : -1; + var walkerFn = down ? downUntil : upUntil; + var range = editor.selection.getRng(); + newRange = moveToCeFalseVertically(direction, editor, walkerFn, range); + if (newRange) { + return newRange; + } + newRange = exitPreBlock(editor, direction, range); + if (newRange) { + return newRange; + } + return null; + }; + var moveH = function (editor, forward) { + return function () { + var newRng = getHorizontalRange(editor, forward); + if (newRng) { + editor.selection.setRng(newRng); + return true; + } else { + return false; + } + }; + }; + var moveV = function (editor, down) { + return function () { + var newRng = getVerticalRange(editor, down); + if (newRng) { + editor.selection.setRng(newRng); + return true; + } else { + return false; + } + }; + }; + var isCefPosition = function (forward) { + return function (pos) { + return forward ? isAfterContentEditableFalse(pos) : isBeforeContentEditableFalse(pos); + }; + }; + var moveToLineEndPoint = function (editor, forward) { + return function () { + var from = forward ? CaretPosition$1.fromRangeEnd(editor.selection.getRng()) : CaretPosition$1.fromRangeStart(editor.selection.getRng()); + var result = forward ? getPositionsUntilNextLine(editor.getBody(), from) : getPositionsUntilPreviousLine(editor.getBody(), from); + var to = forward ? last(result.positions) : head(result.positions); + return to.filter(isCefPosition(forward)).fold(constant(false), function (pos) { + editor.selection.setRng(pos.toRange()); + return true; + }); + }; + }; + + var deflate = function (rect, delta) { + return { + left: rect.left - delta, + top: rect.top - delta, + right: rect.right + delta * 2, + bottom: rect.bottom + delta * 2, + width: rect.width + delta, + height: rect.height + delta + }; + }; + var getCorners = function (getYAxisValue, tds) { + return bind(tds, function (td) { + var rect = deflate(clone$1(td.getBoundingClientRect()), -1); + return [ + { + x: rect.left, + y: getYAxisValue(rect), + cell: td + }, + { + x: rect.right, + y: getYAxisValue(rect), + cell: td + } + ]; + }); + }; + var findClosestCorner = function (corners, x, y) { + return foldl(corners, function (acc, newCorner) { + return acc.fold(function () { + return Option.some(newCorner); + }, function (oldCorner) { + var oldDist = Math.sqrt(Math.abs(oldCorner.x - x) + Math.abs(oldCorner.y - y)); + var newDist = Math.sqrt(Math.abs(newCorner.x - x) + Math.abs(newCorner.y - y)); + return Option.some(newDist < oldDist ? newCorner : oldCorner); + }); + }, Option.none()); + }; + var getClosestCell = function (getYAxisValue, isTargetCorner, table, x, y) { + var cells = descendants$1(Element.fromDom(table), 'td,th,caption').map(function (e) { + return e.dom(); + }); + var corners = filter(getCorners(getYAxisValue, cells), function (corner) { + return isTargetCorner(corner, y); + }); + return findClosestCorner(corners, x, y).map(function (corner) { + return corner.cell; + }); + }; + var getBottomValue = function (rect) { + return rect.bottom; + }; + var getTopValue = function (rect) { + return rect.top; + }; + var isAbove$1 = function (corner, y) { + return corner.y < y; + }; + var isBelow$1 = function (corner, y) { + return corner.y > y; + }; + var getClosestCellAbove = curry(getClosestCell, getBottomValue, isAbove$1); + var getClosestCellBelow = curry(getClosestCell, getTopValue, isBelow$1); + var findClosestPositionInAboveCell = function (table, pos) { + return head(pos.getClientRects()).bind(function (rect) { + return getClosestCellAbove(table, rect.left, rect.top); + }).bind(function (cell) { + return findClosestHorizontalPosition(getLastLinePositions(cell), pos); + }); + }; + var findClosestPositionInBelowCell = function (table, pos) { + return last(pos.getClientRects()).bind(function (rect) { + return getClosestCellBelow(table, rect.left, rect.top); + }).bind(function (cell) { + return findClosestHorizontalPosition(getFirstLinePositions(cell), pos); + }); + }; + + var moveToRange = function (editor, rng) { + editor.selection.setRng(rng); + ScrollIntoView.scrollRangeIntoView(editor, rng); + }; + var hasNextBreak = function (getPositionsUntil, scope, lineInfo) { + return lineInfo.breakAt.map(function (breakPos) { + return getPositionsUntil(scope, breakPos).breakAt.isSome(); + }).getOr(false); + }; + var startsWithWrapBreak = function (lineInfo) { + return lineInfo.breakType === BreakType.Wrap && lineInfo.positions.length === 0; + }; + var startsWithBrBreak = function (lineInfo) { + return lineInfo.breakType === BreakType.Br && lineInfo.positions.length === 1; + }; + var isAtTableCellLine = function (getPositionsUntil, scope, pos) { + var lineInfo = getPositionsUntil(scope, pos); + if (startsWithWrapBreak(lineInfo) || !NodeType.isBr(pos.getNode()) && startsWithBrBreak(lineInfo)) { + return !hasNextBreak(getPositionsUntil, scope, lineInfo); + } else { + return lineInfo.breakAt.isNone(); + } + }; + var isAtFirstTableCellLine = curry(isAtTableCellLine, getPositionsUntilPreviousLine); + var isAtLastTableCellLine = curry(isAtTableCellLine, getPositionsUntilNextLine); + var isCaretAtStartOrEndOfTable = function (forward, rng, table) { + var caretPos = CaretPosition$1.fromRangeStart(rng); + return CaretFinder.positionIn(!forward, table).map(function (pos) { + return pos.isEqual(caretPos); + }).getOr(false); + }; + var navigateHorizontally = function (editor, forward, table, td) { + var rng = editor.selection.getRng(); + var direction = forward ? 1 : -1; + if (isFakeCaretTableBrowser() && isCaretAtStartOrEndOfTable(forward, rng, table)) { + var newRng = showCaret(direction, editor, table, !forward, true); + moveToRange(editor, newRng); + return true; + } + return false; + }; + var getClosestAbovePosition = function (root, table, start) { + return findClosestPositionInAboveCell(table, start).orThunk(function () { + return head(start.getClientRects()).bind(function (rect) { + return findClosestHorizontalPositionFromPoint(getPositionsAbove(root, CaretPosition$1.before(table)), rect.left); + }); + }).getOr(CaretPosition$1.before(table)); + }; + var getClosestBelowPosition = function (root, table, start) { + return findClosestPositionInBelowCell(table, start).orThunk(function () { + return head(start.getClientRects()).bind(function (rect) { + return findClosestHorizontalPositionFromPoint(getPositionsBelow(root, CaretPosition$1.after(table)), rect.left); + }); + }).getOr(CaretPosition$1.after(table)); + }; + var getTable = function (previous, pos) { + var node = pos.getNode(previous); + return NodeType.isElement(node) && node.nodeName === 'TABLE' ? Option.some(node) : Option.none(); + }; + var renderBlock = function (down, editor, table, pos) { + var forcedRootBlock = Settings.getForcedRootBlock(editor); + if (forcedRootBlock) { + editor.undoManager.transact(function () { + var element = Element.fromTag(forcedRootBlock); + setAll(element, Settings.getForcedRootBlockAttrs(editor)); + append(element, Element.fromTag('br')); + if (down) { + after(Element.fromDom(table), element); + } else { + before(Element.fromDom(table), element); + } + var rng = editor.dom.createRng(); + rng.setStart(element.dom(), 0); + rng.setEnd(element.dom(), 0); + moveToRange(editor, rng); + }); + } else { + moveToRange(editor, pos.toRange()); + } + }; + var moveCaret = function (editor, down, pos) { + var table = down ? getTable(true, pos) : getTable(false, pos); + var last = down === false; + table.fold(function () { + return moveToRange(editor, pos.toRange()); + }, function (table) { + return CaretFinder.positionIn(last, editor.getBody()).filter(function (lastPos) { + return lastPos.isEqual(pos); + }).fold(function () { + return moveToRange(editor, pos.toRange()); + }, function (_) { + return renderBlock(down, editor, table, pos); + }); + }); + }; + var navigateVertically = function (editor, down, table, td) { + var rng = editor.selection.getRng(); + var pos = CaretPosition$1.fromRangeStart(rng); + var root = editor.getBody(); + if (!down && isAtFirstTableCellLine(td, pos)) { + var newPos = getClosestAbovePosition(root, table, pos); + moveCaret(editor, down, newPos); + return true; + } else if (down && isAtLastTableCellLine(td, pos)) { + var newPos = getClosestBelowPosition(root, table, pos); + moveCaret(editor, down, newPos); + return true; + } else { + return false; + } + }; + var moveH$1 = function (editor, forward) { + return function () { + return Option.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(function (td) { + return Option.from(editor.dom.getParent(td, 'table')).map(function (table) { + return navigateHorizontally(editor, forward, table); + }); + }).getOr(false); + }; + }; + var moveV$1 = function (editor, forward) { + return function () { + return Option.from(editor.dom.getParent(editor.selection.getNode(), 'td,th')).bind(function (td) { + return Option.from(editor.dom.getParent(td, 'table')).map(function (table) { + return navigateVertically(editor, forward, table, td); + }); + }).getOr(false); + }; + }; + + var isTarget = function (node) { + return contains(['figcaption'], name(node)); + }; + var rangeBefore = function (target) { + var rng = domGlobals.document.createRange(); + rng.setStartBefore(target.dom()); + rng.setEndBefore(target.dom()); + return rng; + }; + var insertElement = function (root, elm, forward) { + if (forward) { + append(root, elm); + } else { + prepend(root, elm); + } + }; + var insertBr = function (root, forward) { + var br = Element.fromTag('br'); + insertElement(root, br, forward); + return rangeBefore(br); + }; + var insertBlock$1 = function (root, forward, blockName, attrs) { + var block = Element.fromTag(blockName); + var br = Element.fromTag('br'); + setAll(block, attrs); + append(block, br); + insertElement(root, block, forward); + return rangeBefore(br); + }; + var insertEmptyLine = function (root, rootBlockName, attrs, forward) { + if (rootBlockName === '') { + return insertBr(root, forward); + } else { + return insertBlock$1(root, forward, rootBlockName, attrs); + } + }; + var getClosestTargetBlock = function (pos, root) { + var isRoot = curry(eq, root); + return closest(Element.fromDom(pos.container()), isBlock, isRoot).filter(isTarget); + }; + var isAtFirstOrLastLine = function (root, forward, pos) { + return forward ? isAtLastLine(root.dom(), pos) : isAtFirstLine(root.dom(), pos); + }; + var moveCaretToNewEmptyLine = function (editor, forward) { + var root = Element.fromDom(editor.getBody()); + var pos = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + var rootBlock = Settings.getForcedRootBlock(editor); + var rootBlockAttrs = Settings.getForcedRootBlockAttrs(editor); + return getClosestTargetBlock(pos, root).exists(function () { + if (isAtFirstOrLastLine(root, forward, pos)) { + var rng = insertEmptyLine(root, rootBlock, rootBlockAttrs, forward); + editor.selection.setRng(rng); + return true; + } else { + return false; + } + }); + }; + var moveV$2 = function (editor, forward) { + return function () { + if (editor.selection.isCollapsed()) { + return moveCaretToNewEmptyLine(editor, forward); + } else { + return false; + } + }; + }; + + var defaultPatterns = function (patterns) { + return map(patterns, function (pattern) { + return merge({ + shiftKey: false, + altKey: false, + ctrlKey: false, + metaKey: false, + keyCode: 0, + action: noop + }, pattern); + }); + }; + var matchesEvent = function (pattern, evt) { + return evt.keyCode === pattern.keyCode && evt.shiftKey === pattern.shiftKey && evt.altKey === pattern.altKey && evt.ctrlKey === pattern.ctrlKey && evt.metaKey === pattern.metaKey; + }; + var match$1 = function (patterns, evt) { + return bind(defaultPatterns(patterns), function (pattern) { + return matchesEvent(pattern, evt) ? [pattern] : []; + }); + }; + var action = function (f) { + var x = []; + for (var _i = 1; _i < arguments.length; _i++) { + x[_i - 1] = arguments[_i]; + } + var args = Array.prototype.slice.call(arguments, 1); + return function () { + return f.apply(null, args); + }; + }; + var execute = function (patterns, evt) { + return find(match$1(patterns, evt), function (pattern) { + return pattern.action(); + }); + }; + var MatchKeys = { + match: match$1, + action: action, + execute: execute + }; + + var executeKeydownOverride = function (editor, caret, evt) { + var os = detect$3().os; + MatchKeys.execute([ + { + keyCode: VK.RIGHT, + action: moveH(editor, true) + }, + { + keyCode: VK.LEFT, + action: moveH(editor, false) + }, + { + keyCode: VK.UP, + action: moveV(editor, false) + }, + { + keyCode: VK.DOWN, + action: moveV(editor, true) + }, + { + keyCode: VK.RIGHT, + action: moveH$1(editor, true) + }, + { + keyCode: VK.LEFT, + action: moveH$1(editor, false) + }, + { + keyCode: VK.UP, + action: moveV$1(editor, false) + }, + { + keyCode: VK.DOWN, + action: moveV$1(editor, true) + }, + { + keyCode: VK.RIGHT, + action: BoundarySelection.move(editor, caret, true) + }, + { + keyCode: VK.LEFT, + action: BoundarySelection.move(editor, caret, false) + }, + { + keyCode: VK.RIGHT, + ctrlKey: !os.isOSX(), + altKey: os.isOSX(), + action: BoundarySelection.moveNextWord(editor, caret) + }, + { + keyCode: VK.LEFT, + ctrlKey: !os.isOSX(), + altKey: os.isOSX(), + action: BoundarySelection.movePrevWord(editor, caret) + }, + { + keyCode: VK.UP, + action: moveV$2(editor, false) + }, + { + keyCode: VK.DOWN, + action: moveV$2(editor, true) + } + ], evt).each(function (_) { + evt.preventDefault(); + }); + }; + var setup$8 = function (editor, caret) { + editor.on('keydown', function (evt) { + if (evt.isDefaultPrevented() === false) { + executeKeydownOverride(editor, caret, evt); + } + }); + }; + var ArrowKeys = { setup: setup$8 }; + + var isBeforeRoot = function (rootNode) { + return function (elm) { + return eq(rootNode, Element.fromDom(elm.dom().parentNode)); + }; + }; + var getParentBlock$1 = function (rootNode, elm) { + return contains$2(rootNode, elm) ? closest(elm, function (element) { + return isTextBlock(element) || isListItem(element); + }, isBeforeRoot(rootNode)) : Option.none(); + }; + var placeCaretInEmptyBody = function (editor) { + var body = editor.getBody(); + var node = body.firstChild && editor.dom.isBlock(body.firstChild) ? body.firstChild : body; + editor.selection.setCursorLocation(node, 0); + }; + var paddEmptyBody = function (editor) { + if (editor.dom.isEmpty(editor.getBody())) { + editor.setContent(''); + placeCaretInEmptyBody(editor); + } + }; + var willDeleteLastPositionInElement = function (forward, fromPos, elm) { + return lift2(CaretFinder.firstPositionIn(elm), CaretFinder.lastPositionIn(elm), function (firstPos, lastPos) { + var normalizedFirstPos = InlineUtils.normalizePosition(true, firstPos); + var normalizedLastPos = InlineUtils.normalizePosition(false, lastPos); + var normalizedFromPos = InlineUtils.normalizePosition(false, fromPos); + if (forward) { + return CaretFinder.nextPosition(elm, normalizedFromPos).map(function (nextPos) { + return nextPos.isEqual(normalizedLastPos) && fromPos.isEqual(normalizedFirstPos); + }).getOr(false); + } else { + return CaretFinder.prevPosition(elm, normalizedFromPos).map(function (prevPos) { + return prevPos.isEqual(normalizedFirstPos) && fromPos.isEqual(normalizedLastPos); + }).getOr(false); + } + }).getOr(true); + }; + var DeleteUtils = { + getParentBlock: getParentBlock$1, + paddEmptyBody: paddEmptyBody, + willDeleteLastPositionInElement: willDeleteLastPositionInElement + }; + + var blockPosition = function (block, position) { + return { + block: constant(block), + position: constant(position) + }; + }; + var blockBoundary = function (from, to) { + return { + from: constant(from), + to: constant(to) + }; + }; + var getBlockPosition = function (rootNode, pos) { + var rootElm = Element.fromDom(rootNode); + var containerElm = Element.fromDom(pos.container()); + return DeleteUtils.getParentBlock(rootElm, containerElm).map(function (block) { + return blockPosition(block, pos); + }); + }; + var isDifferentBlocks = function (blockBoundary) { + return eq(blockBoundary.from().block(), blockBoundary.to().block()) === false; + }; + var hasSameParent = function (blockBoundary) { + return parent(blockBoundary.from().block()).bind(function (parent1) { + return parent(blockBoundary.to().block()).filter(function (parent2) { + return eq(parent1, parent2); + }); + }).isSome(); + }; + var isEditable = function (blockBoundary) { + return NodeType.isContentEditableFalse(blockBoundary.from().block().dom()) === false && NodeType.isContentEditableFalse(blockBoundary.to().block().dom()) === false; + }; + var skipLastBr = function (rootNode, forward, blockPosition) { + if (NodeType.isBr(blockPosition.position().getNode()) && Empty.isEmpty(blockPosition.block()) === false) { + return CaretFinder.positionIn(false, blockPosition.block().dom()).bind(function (lastPositionInBlock) { + if (lastPositionInBlock.isEqual(blockPosition.position())) { + return CaretFinder.fromPosition(forward, rootNode, lastPositionInBlock).bind(function (to) { + return getBlockPosition(rootNode, to); + }); + } else { + return Option.some(blockPosition); + } + }).getOr(blockPosition); + } else { + return blockPosition; + } + }; + var readFromRange = function (rootNode, forward, rng) { + var fromBlockPos = getBlockPosition(rootNode, CaretPosition$1.fromRangeStart(rng)); + var toBlockPos = fromBlockPos.bind(function (blockPos) { + return CaretFinder.fromPosition(forward, rootNode, blockPos.position()).bind(function (to) { + return getBlockPosition(rootNode, to).map(function (blockPos) { + return skipLastBr(rootNode, forward, blockPos); + }); + }); + }); + return lift2(fromBlockPos, toBlockPos, blockBoundary).filter(function (blockBoundary) { + return isDifferentBlocks(blockBoundary) && hasSameParent(blockBoundary) && isEditable(blockBoundary); + }); + }; + var read$3 = function (rootNode, forward, rng) { + return rng.collapsed ? readFromRange(rootNode, forward, rng) : Option.none(); + }; + var BlockMergeBoundary = { read: read$3 }; + + var getChildrenUntilBlockBoundary = function (block) { + var children$1 = children(block); + return findIndex(children$1, isBlock).fold(function () { + return children$1; + }, function (index) { + return children$1.slice(0, index); + }); + }; + var extractChildren = function (block) { + var children = getChildrenUntilBlockBoundary(block); + each(children, remove$1); + return children; + }; + var removeEmptyRoot = function (rootNode, block) { + var parents = Parents.parentsAndSelf(block, rootNode); + return find(parents.reverse(), Empty.isEmpty).each(remove$1); + }; + var isEmptyBefore = function (el) { + return filter(prevSiblings(el), function (el) { + return !Empty.isEmpty(el); + }).length === 0; + }; + var nestedBlockMerge = function (rootNode, fromBlock, toBlock, insertionPoint) { + if (Empty.isEmpty(toBlock)) { + PaddingBr.fillWithPaddingBr(toBlock); + return CaretFinder.firstPositionIn(toBlock.dom()); + } + if (isEmptyBefore(insertionPoint) && Empty.isEmpty(fromBlock)) { + before(insertionPoint, Element.fromTag('br')); + } + var position = CaretFinder.prevPosition(toBlock.dom(), CaretPosition$1.before(insertionPoint.dom())); + each(extractChildren(fromBlock), function (child) { + before(insertionPoint, child); + }); + removeEmptyRoot(rootNode, fromBlock); + return position; + }; + var sidelongBlockMerge = function (rootNode, fromBlock, toBlock) { + if (Empty.isEmpty(toBlock)) { + remove$1(toBlock); + if (Empty.isEmpty(fromBlock)) { + PaddingBr.fillWithPaddingBr(fromBlock); + } + return CaretFinder.firstPositionIn(fromBlock.dom()); + } + var position = CaretFinder.lastPositionIn(toBlock.dom()); + each(extractChildren(fromBlock), function (child) { + append(toBlock, child); + }); + removeEmptyRoot(rootNode, fromBlock); + return position; + }; + var findInsertionPoint = function (toBlock, block) { + var parentsAndSelf = Parents.parentsAndSelf(block, toBlock); + return Option.from(parentsAndSelf[parentsAndSelf.length - 1]); + }; + var getInsertionPoint = function (fromBlock, toBlock) { + return contains$2(toBlock, fromBlock) ? findInsertionPoint(toBlock, fromBlock) : Option.none(); + }; + var trimBr = function (first, block) { + CaretFinder.positionIn(first, block.dom()).map(function (position) { + return position.getNode(); + }).map(Element.fromDom).filter(isBr$1).each(remove$1); + }; + var mergeBlockInto = function (rootNode, fromBlock, toBlock) { + trimBr(true, fromBlock); + trimBr(false, toBlock); + return getInsertionPoint(fromBlock, toBlock).fold(curry(sidelongBlockMerge, rootNode, fromBlock, toBlock), curry(nestedBlockMerge, rootNode, fromBlock, toBlock)); + }; + var mergeBlocks = function (rootNode, forward, block1, block2) { + return forward ? mergeBlockInto(rootNode, block2, block1) : mergeBlockInto(rootNode, block1, block2); + }; + var MergeBlocks = { mergeBlocks: mergeBlocks }; + + var backspaceDelete = function (editor, forward) { + var rootNode = Element.fromDom(editor.getBody()); + var position = BlockMergeBoundary.read(rootNode.dom(), forward, editor.selection.getRng()).bind(function (blockBoundary) { + return MergeBlocks.mergeBlocks(rootNode, forward, blockBoundary.from().block(), blockBoundary.to().block()); + }); + position.each(function (pos) { + editor.selection.setRng(pos.toRange()); + }); + return position.isSome(); + }; + var BlockBoundaryDelete = { backspaceDelete: backspaceDelete }; + + var deleteRangeMergeBlocks = function (rootNode, selection) { + var rng = selection.getRng(); + return lift2(DeleteUtils.getParentBlock(rootNode, Element.fromDom(rng.startContainer)), DeleteUtils.getParentBlock(rootNode, Element.fromDom(rng.endContainer)), function (block1, block2) { + if (eq(block1, block2) === false) { + rng.deleteContents(); + MergeBlocks.mergeBlocks(rootNode, true, block1, block2).each(function (pos) { + selection.setRng(pos.toRange()); + }); + return true; + } else { + return false; + } + }).getOr(false); + }; + var isRawNodeInTable = function (root, rawNode) { + var node = Element.fromDom(rawNode); + var isRoot = curry(eq, root); + return ancestor(node, isTableCell, isRoot).isSome(); + }; + var isSelectionInTable = function (root, rng) { + return isRawNodeInTable(root, rng.startContainer) || isRawNodeInTable(root, rng.endContainer); + }; + var isEverythingSelected = function (root, rng) { + var noPrevious = CaretFinder.prevPosition(root.dom(), CaretPosition$1.fromRangeStart(rng)).isNone(); + var noNext = CaretFinder.nextPosition(root.dom(), CaretPosition$1.fromRangeEnd(rng)).isNone(); + return !isSelectionInTable(root, rng) && noPrevious && noNext; + }; + var emptyEditor = function (editor) { + editor.setContent(''); + editor.selection.setCursorLocation(); + return true; + }; + var deleteRange = function (editor) { + var rootNode = Element.fromDom(editor.getBody()); + var rng = editor.selection.getRng(); + return isEverythingSelected(rootNode, rng) ? emptyEditor(editor) : deleteRangeMergeBlocks(rootNode, editor.selection); + }; + var backspaceDelete$1 = function (editor, forward) { + return editor.selection.isCollapsed() ? false : deleteRange(editor); + }; + var BlockRangeDelete = { backspaceDelete: backspaceDelete$1 }; + + var isBr$5 = function (pos) { + return getElementFromPosition(pos).exists(isBr$1); + }; + var findBr = function (forward, root, pos) { + var parentBlocks = filter(Parents.parentsAndSelf(Element.fromDom(pos.container()), root), isBlock); + var scope = head(parentBlocks).getOr(root); + return CaretFinder.fromPosition(forward, scope.dom(), pos).filter(isBr$5); + }; + var isBeforeBr = function (root, pos) { + return getElementFromPosition(pos).exists(isBr$1) || findBr(true, root, pos).isSome(); + }; + var isAfterBr = function (root, pos) { + return getElementFromPrevPosition(pos).exists(isBr$1) || findBr(false, root, pos).isSome(); + }; + var findPreviousBr = curry(findBr, false); + var findNextBr = curry(findBr, true); + + var isCompoundElement = function (node) { + return isTableCell(Element.fromDom(node)) || isListItem(Element.fromDom(node)); + }; + var DeleteAction = Adt.generate([ + { remove: ['element'] }, + { moveToElement: ['element'] }, + { moveToPosition: ['position'] } + ]); + var isAtContentEditableBlockCaret = function (forward, from) { + var elm = from.getNode(forward === false); + var caretLocation = forward ? 'after' : 'before'; + return NodeType.isElement(elm) && elm.getAttribute('data-mce-caret') === caretLocation; + }; + var isDeleteFromCefDifferentBlocks = function (root, forward, from, to) { + var inSameBlock = function (elm) { + return isInline(Element.fromDom(elm)) && !isInSameBlock(from, to, root); + }; + return getRelativeCefElm(!forward, from).fold(function () { + return getRelativeCefElm(forward, to).fold(constant(false), inSameBlock); + }, inSameBlock); + }; + var deleteEmptyBlockOrMoveToCef = function (root, forward, from, to) { + var toCefElm = to.getNode(forward === false); + return DeleteUtils.getParentBlock(Element.fromDom(root), Element.fromDom(from.getNode())).map(function (blockElm) { + return Empty.isEmpty(blockElm) ? DeleteAction.remove(blockElm.dom()) : DeleteAction.moveToElement(toCefElm); + }).orThunk(function () { + return Option.some(DeleteAction.moveToElement(toCefElm)); + }); + }; + var findCefPosition = function (root, forward, from) { + return CaretFinder.fromPosition(forward, root, from).bind(function (to) { + if (isCompoundElement(to.getNode())) { + return Option.none(); + } else if (isDeleteFromCefDifferentBlocks(root, forward, from, to)) { + return Option.none(); + } else if (forward && NodeType.isContentEditableFalse(to.getNode())) { + return deleteEmptyBlockOrMoveToCef(root, forward, from, to); + } else if (forward === false && NodeType.isContentEditableFalse(to.getNode(true))) { + return deleteEmptyBlockOrMoveToCef(root, forward, from, to); + } else if (forward && isAfterContentEditableFalse(from)) { + return Option.some(DeleteAction.moveToPosition(to)); + } else if (forward === false && isBeforeContentEditableFalse(from)) { + return Option.some(DeleteAction.moveToPosition(to)); + } else { + return Option.none(); + } + }); + }; + var getContentEditableBlockAction = function (forward, elm) { + if (forward && NodeType.isContentEditableFalse(elm.nextSibling)) { + return Option.some(DeleteAction.moveToElement(elm.nextSibling)); + } else if (forward === false && NodeType.isContentEditableFalse(elm.previousSibling)) { + return Option.some(DeleteAction.moveToElement(elm.previousSibling)); + } else { + return Option.none(); + } + }; + var skipMoveToActionFromInlineCefToContent = function (root, from, deleteAction) { + return deleteAction.fold(function (elm) { + return Option.some(DeleteAction.remove(elm)); + }, function (elm) { + return Option.some(DeleteAction.moveToElement(elm)); + }, function (to) { + if (isInSameBlock(from, to, root)) { + return Option.none(); + } else { + return Option.some(DeleteAction.moveToPosition(to)); + } + }); + }; + var getContentEditableAction = function (root, forward, from) { + if (isAtContentEditableBlockCaret(forward, from)) { + return getContentEditableBlockAction(forward, from.getNode(forward === false)).fold(function () { + return findCefPosition(root, forward, from); + }, Option.some); + } else { + return findCefPosition(root, forward, from).bind(function (deleteAction) { + return skipMoveToActionFromInlineCefToContent(root, from, deleteAction); + }); + } + }; + var read$4 = function (root, forward, rng) { + var normalizedRange = normalizeRange(forward ? 1 : -1, root, rng); + var from = CaretPosition$1.fromRangeStart(normalizedRange); + var rootElement = Element.fromDom(root); + if (forward === false && isAfterContentEditableFalse(from)) { + return Option.some(DeleteAction.remove(from.getNode(true))); + } else if (forward && isBeforeContentEditableFalse(from)) { + return Option.some(DeleteAction.remove(from.getNode())); + } else if (forward === false && isBeforeContentEditableFalse(from) && isAfterBr(rootElement, from)) { + return findPreviousBr(rootElement, from).map(function (br) { + return DeleteAction.remove(br.getNode()); + }); + } else if (forward && isAfterContentEditableFalse(from) && isBeforeBr(rootElement, from)) { + return findNextBr(rootElement, from).map(function (br) { + return DeleteAction.remove(br.getNode()); + }); + } else { + return getContentEditableAction(root, forward, from); + } + }; + + var deleteElement$1 = function (editor, forward) { + return function (element) { + editor._selectionOverrides.hideFakeCaret(); + DeleteElement.deleteElement(editor, forward, Element.fromDom(element)); + return true; + }; + }; + var moveToElement = function (editor, forward) { + return function (element) { + var pos = forward ? CaretPosition$1.before(element) : CaretPosition$1.after(element); + editor.selection.setRng(pos.toRange()); + return true; + }; + }; + var moveToPosition = function (editor) { + return function (pos) { + editor.selection.setRng(pos.toRange()); + return true; + }; + }; + var getAncestorCe = function (editor, node) { + return Option.from(getContentEditableRoot$2(editor.getBody(), node)); + }; + var backspaceDeleteCaret = function (editor, forward) { + var selectedNode = editor.selection.getNode(); + return getAncestorCe(editor, selectedNode).filter(NodeType.isContentEditableFalse).fold(function () { + var result = read$4(editor.getBody(), forward, editor.selection.getRng()).map(function (deleteAction) { + return deleteAction.fold(deleteElement$1(editor, forward), moveToElement(editor, forward), moveToPosition(editor)); + }); + return result.getOr(false); + }, function () { + return true; + }); + }; + var deleteOffscreenSelection = function (rootElement) { + each(descendants$1(rootElement, '.mce-offscreen-selection'), remove$1); + }; + var backspaceDeleteRange = function (editor, forward) { + var selectedNode = editor.selection.getNode(); + if (NodeType.isContentEditableFalse(selectedNode)) { + var hasCefAncestor = getAncestorCe(editor, selectedNode.parentNode).filter(NodeType.isContentEditableFalse); + return hasCefAncestor.fold(function () { + deleteOffscreenSelection(Element.fromDom(editor.getBody())); + DeleteElement.deleteElement(editor, forward, Element.fromDom(editor.selection.getNode())); + DeleteUtils.paddEmptyBody(editor); + return true; + }, function () { + return true; + }); + } + return false; + }; + var getContentEditableRoot$2 = function (root, node) { + while (node && node !== root) { + if (NodeType.isContentEditableTrue(node) || NodeType.isContentEditableFalse(node)) { + return node; + } + node = node.parentNode; + } + return null; + }; + var paddEmptyElement = function (editor) { + var br; + var ceRoot = getContentEditableRoot$2(editor.getBody(), editor.selection.getNode()); + if (NodeType.isContentEditableTrue(ceRoot) && editor.dom.isBlock(ceRoot) && editor.dom.isEmpty(ceRoot)) { + br = editor.dom.create('br', { 'data-mce-bogus': '1' }); + editor.dom.setHTML(ceRoot, ''); + ceRoot.appendChild(br); + editor.selection.setRng(CaretPosition$1.before(br).toRange()); + } + return true; + }; + var backspaceDelete$2 = function (editor, forward) { + if (editor.selection.isCollapsed()) { + return backspaceDeleteCaret(editor, forward); + } else { + return backspaceDeleteRange(editor, forward); + } + }; + var CefDelete = { + backspaceDelete: backspaceDelete$2, + paddEmptyElement: paddEmptyElement + }; + + var trimEmptyTextNode$1 = function (dom, node) { + if (NodeType.isText(node) && node.data.length === 0) { + dom.remove(node); + } + }; + var deleteContentAndShowCaret = function (editor, range, node, direction, forward, peekCaretPosition) { + var caretRange = showCaret(direction, editor, peekCaretPosition.getNode(!forward), forward, true); + if (range.collapsed) { + var deleteRange = range.cloneRange(); + if (forward) { + deleteRange.setEnd(caretRange.startContainer, caretRange.startOffset); + } else { + deleteRange.setStart(caretRange.endContainer, caretRange.endOffset); + } + deleteRange.deleteContents(); + } else { + range.deleteContents(); + } + editor.selection.setRng(caretRange); + trimEmptyTextNode$1(editor.dom, node); + return true; + }; + var deleteCefBoundaryText = function (editor, forward) { + var range = editor.selection.getRng(); + if (!NodeType.isText(range.commonAncestorContainer)) { + return false; + } + var direction = forward ? HDirection.Forwards : HDirection.Backwards; + var caretWalker = CaretWalker(editor.getBody()); + var getNextVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.next); + var getPrevVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.prev); + var getNextPosFn = forward ? getNextVisualCaretPosition : getPrevVisualCaretPosition; + var isBeforeContentEditableFalseFn = forward ? isBeforeContentEditableFalse : isAfterContentEditableFalse; + var caretPosition = getNormalizedRangeEndPoint(direction, editor.getBody(), range); + var nextCaretPosition = InlineUtils.normalizePosition(forward, getNextPosFn(caretPosition)); + if (!nextCaretPosition || !isMoveInsideSameBlock(caretPosition, nextCaretPosition)) { + return false; + } else if (isBeforeContentEditableFalseFn(nextCaretPosition)) { + return deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, nextCaretPosition); + } + var peekCaretPosition = getNextPosFn(nextCaretPosition); + if (peekCaretPosition && isBeforeContentEditableFalseFn(peekCaretPosition)) { + if (isMoveInsideSameBlock(nextCaretPosition, peekCaretPosition)) { + return deleteContentAndShowCaret(editor, range, caretPosition.getNode(), direction, forward, peekCaretPosition); + } + } + return false; + }; + var backspaceDelete$3 = function (editor, forward) { + return deleteCefBoundaryText(editor, forward); + }; + var CefBoundaryDelete = { backspaceDelete: backspaceDelete$3 }; + + var isFeatureEnabled$1 = function (editor) { + return editor.settings.inline_boundaries !== false; + }; + var rangeFromPositions = function (from, to) { + var range = domGlobals.document.createRange(); + range.setStart(from.container(), from.offset()); + range.setEnd(to.container(), to.offset()); + return range; + }; + var hasOnlyTwoOrLessPositionsLeft = function (elm) { + return lift2(CaretFinder.firstPositionIn(elm), CaretFinder.lastPositionIn(elm), function (firstPos, lastPos) { + var normalizedFirstPos = InlineUtils.normalizePosition(true, firstPos); + var normalizedLastPos = InlineUtils.normalizePosition(false, lastPos); + return CaretFinder.nextPosition(elm, normalizedFirstPos).map(function (pos) { + return pos.isEqual(normalizedLastPos); + }).getOr(true); + }).getOr(true); + }; + var setCaretLocation = function (editor, caret) { + return function (location) { + return BoundaryCaret.renderCaret(caret, location).map(function (pos) { + BoundarySelection.setCaretPosition(editor, pos); + return true; + }).getOr(false); + }; + }; + var deleteFromTo = function (editor, caret, from, to) { + var rootNode = editor.getBody(); + var isInlineTarget = curry(InlineUtils.isInlineTarget, editor); + editor.undoManager.ignore(function () { + editor.selection.setRng(rangeFromPositions(from, to)); + editor.execCommand('Delete'); + BoundaryLocation.readLocation(isInlineTarget, rootNode, CaretPosition$1.fromRangeStart(editor.selection.getRng())).map(BoundaryLocation.inside).map(setCaretLocation(editor, caret)); + }); + editor.nodeChanged(); + }; + var rescope$1 = function (rootNode, node) { + var parentBlock = getParentBlock(node, rootNode); + return parentBlock ? parentBlock : rootNode; + }; + var backspaceDeleteCollapsed = function (editor, caret, forward, from) { + var rootNode = rescope$1(editor.getBody(), from.container()); + var isInlineTarget = curry(InlineUtils.isInlineTarget, editor); + var fromLocation = BoundaryLocation.readLocation(isInlineTarget, rootNode, from); + return fromLocation.bind(function (location) { + if (forward) { + return location.fold(constant(Option.some(BoundaryLocation.inside(location))), Option.none, constant(Option.some(BoundaryLocation.outside(location))), Option.none); + } else { + return location.fold(Option.none, constant(Option.some(BoundaryLocation.outside(location))), Option.none, constant(Option.some(BoundaryLocation.inside(location)))); + } + }).map(setCaretLocation(editor, caret)).getOrThunk(function () { + var toPosition = CaretFinder.navigate(forward, rootNode, from); + var toLocation = toPosition.bind(function (pos) { + return BoundaryLocation.readLocation(isInlineTarget, rootNode, pos); + }); + if (fromLocation.isSome() && toLocation.isSome()) { + return InlineUtils.findRootInline(isInlineTarget, rootNode, from).map(function (elm) { + if (hasOnlyTwoOrLessPositionsLeft(elm)) { + DeleteElement.deleteElement(editor, forward, Element.fromDom(elm)); + return true; + } else { + return false; + } + }).getOr(false); + } else { + return toLocation.bind(function (_) { + return toPosition.map(function (to) { + if (forward) { + deleteFromTo(editor, caret, from, to); + } else { + deleteFromTo(editor, caret, to, from); + } + return true; + }); + }).getOr(false); + } + }); + }; + var backspaceDelete$4 = function (editor, caret, forward) { + if (editor.selection.isCollapsed() && isFeatureEnabled$1(editor)) { + var from = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + return backspaceDeleteCollapsed(editor, caret, forward, from); + } + return false; + }; + var BoundaryDelete = { backspaceDelete: backspaceDelete$4 }; + + var getParentInlines = function (rootElm, startElm) { + var parents = Parents.parentsAndSelf(startElm, rootElm); + return findIndex(parents, isBlock).fold(constant(parents), function (index) { + return parents.slice(0, index); + }); + }; + var hasOnlyOneChild = function (elm) { + return children(elm).length === 1; + }; + var deleteLastPosition = function (forward, editor, target, parentInlines) { + var isFormatElement$1 = curry(isFormatElement, editor); + var formatNodes = map(filter(parentInlines, isFormatElement$1), function (elm) { + return elm.dom(); + }); + if (formatNodes.length === 0) { + DeleteElement.deleteElement(editor, forward, target); + } else { + var pos = replaceWithCaretFormat(target.dom(), formatNodes); + editor.selection.setRng(pos.toRange()); + } + }; + var deleteCaret = function (editor, forward) { + var rootElm = Element.fromDom(editor.getBody()); + var startElm = Element.fromDom(editor.selection.getStart()); + var parentInlines = filter(getParentInlines(rootElm, startElm), hasOnlyOneChild); + return last(parentInlines).map(function (target) { + var fromPos = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + if (DeleteUtils.willDeleteLastPositionInElement(forward, fromPos, target.dom()) && !isEmptyCaretFormatElement(target)) { + deleteLastPosition(forward, editor, target, parentInlines); + return true; + } else { + return false; + } + }).getOr(false); + }; + var backspaceDelete$5 = function (editor, forward) { + return editor.selection.isCollapsed() ? deleteCaret(editor, forward) : false; + }; + var InlineFormatDelete = { backspaceDelete: backspaceDelete$5 }; + + var tableCellRng = function (start, end) { + return { + start: constant(start), + end: constant(end) + }; + }; + var tableSelection = function (rng, table, cells) { + return { + rng: constant(rng), + table: constant(table), + cells: constant(cells) + }; + }; + var deleteAction = Adt.generate([ + { removeTable: ['element'] }, + { emptyCells: ['cells'] } + ]); + var isRootFromElement = function (root) { + return function (cur) { + return eq(root, cur); + }; + }; + var getClosestCell$1 = function (container, isRoot) { + return closest$1(Element.fromDom(container), 'td,th', isRoot); + }; + var getClosestTable = function (cell, isRoot) { + return ancestor$1(cell, 'table', isRoot); + }; + var isExpandedCellRng = function (cellRng) { + return eq(cellRng.start(), cellRng.end()) === false; + }; + var getTableFromCellRng = function (cellRng, isRoot) { + return getClosestTable(cellRng.start(), isRoot).bind(function (startParentTable) { + return getClosestTable(cellRng.end(), isRoot).bind(function (endParentTable) { + return someIf(eq(startParentTable, endParentTable), startParentTable); + }); + }); + }; + var getTableCells = function (table) { + return descendants$1(table, 'td,th'); + }; + var getCellRangeFromStartTable = function (cellRng, isRoot) { + return getClosestTable(cellRng.start(), isRoot).bind(function (table) { + return last(getTableCells(table)).map(function (endCell) { + return tableCellRng(cellRng.start(), endCell); + }); + }); + }; + var partialSelection = function (isRoot, rng) { + var startCell = getClosestCell$1(rng.startContainer, isRoot); + var endCell = getClosestCell$1(rng.endContainer, isRoot); + return rng.collapsed ? Option.none() : lift2(startCell, endCell, tableCellRng).fold(function () { + return startCell.fold(function () { + return endCell.bind(function (endCell) { + return getClosestTable(endCell, isRoot).bind(function (table) { + return head(getTableCells(table)).map(function (startCell) { + return tableCellRng(startCell, endCell); + }); + }); + }); + }, function (startCell) { + return getClosestTable(startCell, isRoot).bind(function (table) { + return last(getTableCells(table)).map(function (endCell) { + return tableCellRng(startCell, endCell); + }); + }); + }); + }, function (cellRng) { + return isWithinSameTable(isRoot, cellRng) ? Option.none() : getCellRangeFromStartTable(cellRng, isRoot); + }); + }; + var isWithinSameTable = function (isRoot, cellRng) { + return getTableFromCellRng(cellRng, isRoot).isSome(); + }; + var getCellRng = function (rng, isRoot) { + var startCell = getClosestCell$1(rng.startContainer, isRoot); + var endCell = getClosestCell$1(rng.endContainer, isRoot); + return lift2(startCell, endCell, tableCellRng).filter(isExpandedCellRng).filter(function (cellRng) { + return isWithinSameTable(isRoot, cellRng); + }).orThunk(function () { + return partialSelection(isRoot, rng); + }); + }; + var getTableSelectionFromCellRng = function (cellRng, isRoot) { + return getTableFromCellRng(cellRng, isRoot).map(function (table) { + return tableSelection(cellRng, table, getTableCells(table)); + }); + }; + var getTableSelectionFromRng = function (root, rng) { + var isRoot = isRootFromElement(root); + return getCellRng(rng, isRoot).bind(function (cellRng) { + return getTableSelectionFromCellRng(cellRng, isRoot); + }); + }; + var getCellIndex = function (cells, cell) { + return findIndex(cells, function (x) { + return eq(x, cell); + }); + }; + var getSelectedCells = function (tableSelection) { + return lift2(getCellIndex(tableSelection.cells(), tableSelection.rng().start()), getCellIndex(tableSelection.cells(), tableSelection.rng().end()), function (startIndex, endIndex) { + return tableSelection.cells().slice(startIndex, endIndex + 1); + }); + }; + var getAction = function (tableSelection) { + return getSelectedCells(tableSelection).map(function (selected) { + var cells = tableSelection.cells(); + return selected.length === cells.length ? deleteAction.removeTable(tableSelection.table()) : deleteAction.emptyCells(selected); + }); + }; + var getActionFromRange = function (root, rng) { + return getTableSelectionFromRng(root, rng).bind(getAction); + }; + + var emptyCells = function (editor, cells) { + each(cells, PaddingBr.fillWithPaddingBr); + editor.selection.setCursorLocation(cells[0].dom(), 0); + return true; + }; + var deleteTableElement = function (editor, table) { + DeleteElement.deleteElement(editor, false, table); + return true; + }; + var deleteCellRange = function (editor, rootElm, rng) { + return getActionFromRange(rootElm, rng).map(function (action) { + return action.fold(curry(deleteTableElement, editor), curry(emptyCells, editor)); + }); + }; + var deleteCaptionRange = function (editor, caption) { + return emptyElement(editor, caption); + }; + var deleteTableRange = function (editor, rootElm, rng, startElm) { + return getParentCaption(rootElm, startElm).fold(function () { + return deleteCellRange(editor, rootElm, rng); + }, function (caption) { + return deleteCaptionRange(editor, caption); + }).getOr(false); + }; + var deleteRange$1 = function (editor, startElm) { + var rootNode = Element.fromDom(editor.getBody()); + var rng = editor.selection.getRng(); + var selectedCells = TableCellSelection.getCellsFromEditor(editor); + return selectedCells.length !== 0 ? emptyCells(editor, selectedCells) : deleteTableRange(editor, rootNode, rng, startElm); + }; + var getParentCell = function (rootElm, elm) { + return find(Parents.parentsAndSelf(elm, rootElm), isTableCell); + }; + var getParentCaption = function (rootElm, elm) { + return find(Parents.parentsAndSelf(elm, rootElm), function (elm) { + return name(elm) === 'caption'; + }); + }; + var deleteBetweenCells = function (editor, rootElm, forward, fromCell, from) { + return CaretFinder.navigate(forward, editor.getBody(), from).bind(function (to) { + return getParentCell(rootElm, Element.fromDom(to.getNode())).map(function (toCell) { + return eq(toCell, fromCell) === false; + }); + }); + }; + var emptyElement = function (editor, elm) { + PaddingBr.fillWithPaddingBr(elm); + editor.selection.setCursorLocation(elm.dom(), 0); + return Option.some(true); + }; + var isDeleteOfLastCharPos = function (fromCaption, forward, from, to) { + return CaretFinder.firstPositionIn(fromCaption.dom()).bind(function (first) { + return CaretFinder.lastPositionIn(fromCaption.dom()).map(function (last) { + return forward ? from.isEqual(first) && to.isEqual(last) : from.isEqual(last) && to.isEqual(first); + }); + }).getOr(true); + }; + var emptyCaretCaption = function (editor, elm) { + return emptyElement(editor, elm); + }; + var validateCaretCaption = function (rootElm, fromCaption, to) { + return getParentCaption(rootElm, Element.fromDom(to.getNode())).map(function (toCaption) { + return eq(toCaption, fromCaption) === false; + }); + }; + var deleteCaretInsideCaption = function (editor, rootElm, forward, fromCaption, from) { + return CaretFinder.navigate(forward, editor.getBody(), from).bind(function (to) { + return isDeleteOfLastCharPos(fromCaption, forward, from, to) ? emptyCaretCaption(editor, fromCaption) : validateCaretCaption(rootElm, fromCaption, to); + }).or(Option.some(true)); + }; + var deleteCaretCells = function (editor, forward, rootElm, startElm) { + var from = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + return getParentCell(rootElm, startElm).bind(function (fromCell) { + return Empty.isEmpty(fromCell) ? emptyElement(editor, fromCell) : deleteBetweenCells(editor, rootElm, forward, fromCell, from); + }).getOr(false); + }; + var deleteCaretCaption = function (editor, forward, rootElm, fromCaption) { + var from = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + return Empty.isEmpty(fromCaption) ? emptyElement(editor, fromCaption) : deleteCaretInsideCaption(editor, rootElm, forward, fromCaption, from); + }; + var isNearTable = function (forward, pos) { + return forward ? isBeforeTable(pos) : isAfterTable(pos); + }; + var isBeforeOrAfterTable = function (editor, forward) { + var fromPos = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + return isNearTable(forward, fromPos) || CaretFinder.fromPosition(forward, editor.getBody(), fromPos).map(function (pos) { + return isNearTable(forward, pos); + }).getOr(false); + }; + var deleteCaret$1 = function (editor, forward, startElm) { + var rootElm = Element.fromDom(editor.getBody()); + return getParentCaption(rootElm, startElm).fold(function () { + return deleteCaretCells(editor, forward, rootElm, startElm) || isBeforeOrAfterTable(editor, forward); + }, function (fromCaption) { + return deleteCaretCaption(editor, forward, rootElm, fromCaption).getOr(false); + }); + }; + var backspaceDelete$6 = function (editor, forward) { + var startElm = Element.fromDom(editor.selection.getStart(true)); + var cells = TableCellSelection.getCellsFromEditor(editor); + return editor.selection.isCollapsed() && cells.length === 0 ? deleteCaret$1(editor, forward, startElm) : deleteRange$1(editor, startElm); + }; + var TableDelete = { backspaceDelete: backspaceDelete$6 }; + + var deleteCaret$2 = function (editor, forward) { + var fromPos = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + return CaretFinder.fromPosition(forward, editor.getBody(), fromPos).filter(function (pos) { + return forward ? isBeforeImageBlock(pos) : isAfterImageBlock(pos); + }).bind(function (pos) { + return Option.from(getChildNodeAtRelativeOffset(forward ? 0 : -1, pos)); + }).map(function (elm) { + editor.selection.select(elm); + return true; + }).getOr(false); + }; + var backspaceDelete$7 = function (editor, forward) { + return editor.selection.isCollapsed() ? deleteCaret$2(editor, forward) : false; + }; + var PageBreakDelete = { backspaceDelete: backspaceDelete$7 }; + + var isEditable$1 = function (target) { + return closest(target, function (elm) { + return NodeType.isContentEditableTrue(elm.dom()) || NodeType.isContentEditableFalse(elm.dom()); + }).exists(function (elm) { + return NodeType.isContentEditableTrue(elm.dom()); + }); + }; + var parseIndentValue = function (value) { + var number = parseInt(value, 10); + return isNaN(number) ? 0 : number; + }; + var getIndentStyleName = function (useMargin, element) { + var indentStyleName = useMargin || isTable$1(element) ? 'margin' : 'padding'; + var suffix = get$2(element, 'direction') === 'rtl' ? '-right' : '-left'; + return indentStyleName + suffix; + }; + var indentElement = function (dom, command, useMargin, value, unit, element) { + var indentStyleName = getIndentStyleName(useMargin, Element.fromDom(element)); + if (command === 'outdent') { + var styleValue = Math.max(0, parseIndentValue(element.style[indentStyleName]) - value); + dom.setStyle(element, indentStyleName, styleValue ? styleValue + unit : ''); + } else { + var styleValue = parseIndentValue(element.style[indentStyleName]) + value + unit; + dom.setStyle(element, indentStyleName, styleValue); + } + }; + var validateBlocks = function (editor, blocks) { + return forall(blocks, function (block) { + var indentStyleName = getIndentStyleName(Settings.shouldIndentUseMargin(editor), block); + var intentValue = getRaw(block, indentStyleName).map(parseIndentValue).getOr(0); + var contentEditable = editor.dom.getContentEditable(block.dom()); + return contentEditable !== 'false' && intentValue > 0; + }); + }; + var canOutdent = function (editor) { + var blocks = getBlocksToIndent(editor); + return editor.readonly !== true && (blocks.length > 1 || validateBlocks(editor, blocks)); + }; + var isListComponent = function (el) { + return isList(el) || isListItem(el); + }; + var parentIsListComponent = function (el) { + return parent(el).map(isListComponent).getOr(false); + }; + var getBlocksToIndent = function (editor) { + return filter(map(editor.selection.getSelectedBlocks(), Element.fromDom), function (el) { + return !isListComponent(el) && !parentIsListComponent(el) && isEditable$1(el); + }); + }; + var handle = function (editor, command) { + var dom = editor.dom, selection = editor.selection, formatter = editor.formatter; + var indentation = Settings.getIndentation(editor); + var indentUnit = /[a-z%]+$/i.exec(indentation)[0]; + var indentValue = parseInt(indentation, 10); + var useMargin = Settings.shouldIndentUseMargin(editor); + var forcedRootBlock = Settings.getForcedRootBlock(editor); + if (!editor.queryCommandState('InsertUnorderedList') && !editor.queryCommandState('InsertOrderedList')) { + if (forcedRootBlock === '' && !dom.getParent(selection.getNode(), dom.isBlock)) { + formatter.apply('div'); + } + } + each(getBlocksToIndent(editor), function (block) { + indentElement(dom, command, useMargin, indentValue, indentUnit, block.dom()); + }); + }; + + var navigateIgnoreEmptyTextNodes = function (forward, root, from) { + return CaretFinder.navigateIgnore(forward, root, from, isEmptyText); + }; + var getClosestBlock = function (root, pos) { + return find(Parents.parentsAndSelf(Element.fromDom(pos.container()), root), isBlock); + }; + var isAtBeforeAfterBlockBoundary = function (forward, root, pos) { + return navigateIgnoreEmptyTextNodes(forward, root.dom(), pos).forall(function (newPos) { + return getClosestBlock(root, pos).fold(function () { + return isInSameBlock(newPos, pos, root.dom()) === false; + }, function (fromBlock) { + return isInSameBlock(newPos, pos, root.dom()) === false && contains$2(fromBlock, Element.fromDom(newPos.container())); + }); + }); + }; + var isAtBlockBoundary = function (forward, root, pos) { + return getClosestBlock(root, pos).fold(function () { + return navigateIgnoreEmptyTextNodes(forward, root.dom(), pos).forall(function (newPos) { + return isInSameBlock(newPos, pos, root.dom()) === false; + }); + }, function (parent) { + return navigateIgnoreEmptyTextNodes(forward, parent.dom(), pos).isNone(); + }); + }; + var isAtStartOfBlock = curry(isAtBlockBoundary, false); + var isAtEndOfBlock = curry(isAtBlockBoundary, true); + var isBeforeBlock = curry(isAtBeforeAfterBlockBoundary, false); + var isAfterBlock = curry(isAtBeforeAfterBlockBoundary, true); + + var backspaceDelete$8 = function (editor, _caret, _forward) { + if (editor.selection.isCollapsed() && canOutdent(editor)) { + var dom = editor.dom; + var rng = editor.selection.getRng(); + var pos = CaretPosition$1.fromRangeStart(rng); + var block = dom.getParent(rng.startContainer, dom.isBlock); + if (block !== null && isAtStartOfBlock(Element.fromDom(block), pos)) { + handle(editor, 'outdent'); + return true; + } + } + return false; + }; + var Outdent = { backspaceDelete: backspaceDelete$8 }; + + var executeKeydownOverride$1 = function (editor, caret, evt) { + MatchKeys.execute([ + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(Outdent.backspaceDelete, editor, false) + }, + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(CefDelete.backspaceDelete, editor, false) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(CefDelete.backspaceDelete, editor, true) + }, + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(CefBoundaryDelete.backspaceDelete, editor, false) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(CefBoundaryDelete.backspaceDelete, editor, true) + }, + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(BoundaryDelete.backspaceDelete, editor, caret, false) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(BoundaryDelete.backspaceDelete, editor, caret, true) + }, + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(TableDelete.backspaceDelete, editor, false) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(TableDelete.backspaceDelete, editor, true) + }, + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(PageBreakDelete.backspaceDelete, editor, false) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(PageBreakDelete.backspaceDelete, editor, true) + }, + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(BlockRangeDelete.backspaceDelete, editor, false) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(BlockRangeDelete.backspaceDelete, editor, true) + }, + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(BlockBoundaryDelete.backspaceDelete, editor, false) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(BlockBoundaryDelete.backspaceDelete, editor, true) + }, + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(InlineFormatDelete.backspaceDelete, editor, false) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(InlineFormatDelete.backspaceDelete, editor, true) + } + ], evt).each(function (_) { + evt.preventDefault(); + }); + }; + var executeKeyupOverride = function (editor, evt) { + MatchKeys.execute([ + { + keyCode: VK.BACKSPACE, + action: MatchKeys.action(CefDelete.paddEmptyElement, editor) + }, + { + keyCode: VK.DELETE, + action: MatchKeys.action(CefDelete.paddEmptyElement, editor) + } + ], evt); + }; + var setup$9 = function (editor, caret) { + editor.on('keydown', function (evt) { + if (evt.isDefaultPrevented() === false) { + executeKeydownOverride$1(editor, caret, evt); + } + }); + editor.on('keyup', function (evt) { + if (evt.isDefaultPrevented() === false) { + executeKeyupOverride(editor, evt); + } + }); + }; + var DeleteBackspaceKeys = { setup: setup$9 }; + + var firstNonWhiteSpaceNodeSibling = function (node) { + while (node) { + if (node.nodeType === 1 || node.nodeType === 3 && node.data && /[\r\n\s]/.test(node.data)) { + return node; + } + node = node.nextSibling; + } + }; + var moveToCaretPosition = function (editor, root) { + var node, rng, lastNode = root; + var dom = editor.dom; + var moveCaretBeforeOnEnterElementsMap = editor.schema.getMoveCaretBeforeOnEnterElements(); + if (!root) { + return; + } + if (/^(LI|DT|DD)$/.test(root.nodeName)) { + var firstChild = firstNonWhiteSpaceNodeSibling(root.firstChild); + if (firstChild && /^(UL|OL|DL)$/.test(firstChild.nodeName)) { + root.insertBefore(dom.doc.createTextNode('\xA0'), root.firstChild); + } + } + rng = dom.createRng(); + root.normalize(); + if (root.hasChildNodes()) { + var walker = new TreeWalker(root, root); + while (node = walker.current()) { + if (NodeType.isText(node)) { + rng.setStart(node, 0); + rng.setEnd(node, 0); + break; + } + if (moveCaretBeforeOnEnterElementsMap[node.nodeName.toLowerCase()]) { + rng.setStartBefore(node); + rng.setEndBefore(node); + break; + } + lastNode = node; + node = walker.next(); + } + if (!node) { + rng.setStart(lastNode, 0); + rng.setEnd(lastNode, 0); + } + } else { + if (NodeType.isBr(root)) { + if (root.nextSibling && dom.isBlock(root.nextSibling)) { + rng.setStartBefore(root); + rng.setEndBefore(root); + } else { + rng.setStartAfter(root); + rng.setEndAfter(root); + } + } else { + rng.setStart(root, 0); + rng.setEnd(root, 0); + } + } + editor.selection.setRng(rng); + editor.selection.scrollIntoView(root); + }; + var getEditableRoot = function (dom, node) { + var root = dom.getRoot(); + var parent, editableRoot; + parent = node; + while (parent !== root && dom.getContentEditable(parent) !== 'false') { + if (dom.getContentEditable(parent) === 'true') { + editableRoot = parent; + } + parent = parent.parentNode; + } + return parent !== root ? editableRoot : root; + }; + var getParentBlock$2 = function (editor) { + return Option.from(editor.dom.getParent(editor.selection.getStart(true), editor.dom.isBlock)); + }; + var getParentBlockName = function (editor) { + return getParentBlock$2(editor).fold(constant(''), function (parentBlock) { + return parentBlock.nodeName.toUpperCase(); + }); + }; + var isListItemParentBlock = function (editor) { + return getParentBlock$2(editor).filter(function (elm) { + return isListItem(Element.fromDom(elm)); + }).isSome(); + }; + var NewLineUtils = { + moveToCaretPosition: moveToCaretPosition, + getEditableRoot: getEditableRoot, + getParentBlock: getParentBlock$2, + getParentBlockName: getParentBlockName, + isListItemParentBlock: isListItemParentBlock + }; + + var hasFirstChild = function (elm, name) { + return elm.firstChild && elm.firstChild.nodeName === name; + }; + var hasParent$1 = function (elm, parentName) { + return elm && elm.parentNode && elm.parentNode.nodeName === parentName; + }; + var isListBlock = function (elm) { + return elm && /^(OL|UL|LI)$/.test(elm.nodeName); + }; + var isNestedList = function (elm) { + return isListBlock(elm) && isListBlock(elm.parentNode); + }; + var getContainerBlock = function (containerBlock) { + var containerBlockParent = containerBlock.parentNode; + if (/^(LI|DT|DD)$/.test(containerBlockParent.nodeName)) { + return containerBlockParent; + } + return containerBlock; + }; + var isFirstOrLastLi = function (containerBlock, parentBlock, first) { + var node = containerBlock[first ? 'firstChild' : 'lastChild']; + while (node) { + if (NodeType.isElement(node)) { + break; + } + node = node[first ? 'nextSibling' : 'previousSibling']; + } + return node === parentBlock; + }; + var insert = function (editor, createNewBlock, containerBlock, parentBlock, newBlockName) { + var dom = editor.dom; + var rng = editor.selection.getRng(); + if (containerBlock === editor.getBody()) { + return; + } + if (isNestedList(containerBlock)) { + newBlockName = 'LI'; + } + var newBlock = newBlockName ? createNewBlock(newBlockName) : dom.create('BR'); + if (isFirstOrLastLi(containerBlock, parentBlock, true) && isFirstOrLastLi(containerBlock, parentBlock, false)) { + if (hasParent$1(containerBlock, 'LI')) { + dom.insertAfter(newBlock, getContainerBlock(containerBlock)); + } else { + dom.replace(newBlock, containerBlock); + } + } else if (isFirstOrLastLi(containerBlock, parentBlock, true)) { + if (hasParent$1(containerBlock, 'LI')) { + dom.insertAfter(newBlock, getContainerBlock(containerBlock)); + newBlock.appendChild(dom.doc.createTextNode(' ')); + newBlock.appendChild(containerBlock); + } else { + containerBlock.parentNode.insertBefore(newBlock, containerBlock); + } + } else if (isFirstOrLastLi(containerBlock, parentBlock, false)) { + dom.insertAfter(newBlock, getContainerBlock(containerBlock)); + } else { + containerBlock = getContainerBlock(containerBlock); + var tmpRng = rng.cloneRange(); + tmpRng.setStartAfter(parentBlock); + tmpRng.setEndAfter(containerBlock); + var fragment = tmpRng.extractContents(); + if (newBlockName === 'LI' && hasFirstChild(fragment, 'LI')) { + newBlock = fragment.firstChild; + dom.insertAfter(fragment, containerBlock); + } else { + dom.insertAfter(fragment, containerBlock); + dom.insertAfter(newBlock, containerBlock); + } + } + dom.remove(parentBlock); + NewLineUtils.moveToCaretPosition(editor, newBlock); + }; + var InsertLi = { insert: insert }; + + var trimZwsp = function (fragment) { + each(descendants(Element.fromDom(fragment), isText$1), function (text) { + var rawNode = text.dom(); + rawNode.nodeValue = Zwsp.trim(rawNode.nodeValue); + }); + }; + var isEmptyAnchor = function (dom, elm) { + return elm && elm.nodeName === 'A' && dom.isEmpty(elm); + }; + var isTableCell$4 = function (node) { + return node && /^(TD|TH|CAPTION)$/.test(node.nodeName); + }; + var emptyBlock = function (elm) { + elm.innerHTML = '
'; + }; + var containerAndSiblingName = function (container, nodeName) { + return container.nodeName === nodeName || container.previousSibling && container.previousSibling.nodeName === nodeName; + }; + var canSplitBlock = function (dom, node) { + return node && dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && !/^(fixed|absolute)/i.test(node.style.position) && dom.getContentEditable(node) !== 'true'; + }; + var trimInlineElementsOnLeftSideOfBlock = function (dom, nonEmptyElementsMap, block) { + var node = block; + var firstChilds = []; + var i; + if (!node) { + return; + } + while (node = node.firstChild) { + if (dom.isBlock(node)) { + return; + } + if (NodeType.isElement(node) && !nonEmptyElementsMap[node.nodeName.toLowerCase()]) { + firstChilds.push(node); + } + } + i = firstChilds.length; + while (i--) { + node = firstChilds[i]; + if (!node.hasChildNodes() || node.firstChild === node.lastChild && node.firstChild.nodeValue === '') { + dom.remove(node); + } else { + if (isEmptyAnchor(dom, node)) { + dom.remove(node); + } + } + } + }; + var normalizeZwspOffset = function (start, container, offset) { + if (NodeType.isText(container) === false) { + return offset; + } else if (start) { + return offset === 1 && container.data.charAt(offset - 1) === Zwsp.ZWSP ? 0 : offset; + } else { + return offset === container.data.length - 1 && container.data.charAt(offset) === Zwsp.ZWSP ? container.data.length : offset; + } + }; + var includeZwspInRange = function (rng) { + var newRng = rng.cloneRange(); + newRng.setStart(rng.startContainer, normalizeZwspOffset(true, rng.startContainer, rng.startOffset)); + newRng.setEnd(rng.endContainer, normalizeZwspOffset(false, rng.endContainer, rng.endOffset)); + return newRng; + }; + var trimLeadingLineBreaks = function (node) { + do { + if (NodeType.isText(node)) { + node.nodeValue = node.nodeValue.replace(/^[\r\n]+/, ''); + } + node = node.firstChild; + } while (node); + }; + var getEditableRoot$1 = function (dom, node) { + var root = dom.getRoot(); + var parent, editableRoot; + parent = node; + while (parent !== root && dom.getContentEditable(parent) !== 'false') { + if (dom.getContentEditable(parent) === 'true') { + editableRoot = parent; + } + parent = parent.parentNode; + } + return parent !== root ? editableRoot : root; + }; + var setForcedBlockAttrs = function (editor, node) { + var forcedRootBlockName = Settings.getForcedRootBlock(editor); + if (forcedRootBlockName && forcedRootBlockName.toLowerCase() === node.tagName.toLowerCase()) { + editor.dom.setAttribs(node, Settings.getForcedRootBlockAttrs(editor)); + } + }; + var wrapSelfAndSiblingsInDefaultBlock = function (editor, newBlockName, rng, container, offset) { + var newBlock, parentBlock, startNode, node, next, rootBlockName; + var blockName = newBlockName || 'P'; + var dom = editor.dom, editableRoot = getEditableRoot$1(dom, container); + parentBlock = dom.getParent(container, dom.isBlock); + if (!parentBlock || !canSplitBlock(dom, parentBlock)) { + parentBlock = parentBlock || editableRoot; + if (parentBlock === editor.getBody() || isTableCell$4(parentBlock)) { + rootBlockName = parentBlock.nodeName.toLowerCase(); + } else { + rootBlockName = parentBlock.parentNode.nodeName.toLowerCase(); + } + if (!parentBlock.hasChildNodes()) { + newBlock = dom.create(blockName); + setForcedBlockAttrs(editor, newBlock); + parentBlock.appendChild(newBlock); + rng.setStart(newBlock, 0); + rng.setEnd(newBlock, 0); + return newBlock; + } + node = container; + while (node.parentNode !== parentBlock) { + node = node.parentNode; + } + while (node && !dom.isBlock(node)) { + startNode = node; + node = node.previousSibling; + } + if (startNode && editor.schema.isValidChild(rootBlockName, blockName.toLowerCase())) { + newBlock = dom.create(blockName); + setForcedBlockAttrs(editor, newBlock); + startNode.parentNode.insertBefore(newBlock, startNode); + node = startNode; + while (node && !dom.isBlock(node)) { + next = node.nextSibling; + newBlock.appendChild(node); + node = next; + } + rng.setStart(container, offset); + rng.setEnd(container, offset); + } + } + return container; + }; + var addBrToBlockIfNeeded = function (dom, block) { + var lastChild; + block.normalize(); + lastChild = block.lastChild; + if (!lastChild || /^(left|right)$/gi.test(dom.getStyle(lastChild, 'float', true))) { + dom.add(block, 'br'); + } + }; + var insert$1 = function (editor, evt) { + var tmpRng, editableRoot, container, offset, parentBlock, shiftKey; + var newBlock, fragment, containerBlock, parentBlockName, containerBlockName, newBlockName, isAfterLastNodeInContainer; + var dom = editor.dom; + var schema = editor.schema, nonEmptyElementsMap = schema.getNonEmptyElements(); + var rng = editor.selection.getRng(); + var createNewBlock = function (name) { + var node = container, block, clonedNode, caretNode; + var textInlineElements = schema.getTextInlineElements(); + if (name || parentBlockName === 'TABLE' || parentBlockName === 'HR') { + block = dom.create(name || newBlockName); + setForcedBlockAttrs(editor, block); + } else { + block = parentBlock.cloneNode(false); + } + caretNode = block; + if (Settings.shouldKeepStyles(editor) === false) { + dom.setAttrib(block, 'style', null); + dom.setAttrib(block, 'class', null); + } else { + do { + if (textInlineElements[node.nodeName]) { + if (isCaretNode(node) || Bookmarks.isBookmarkNode(node)) { + continue; + } + clonedNode = node.cloneNode(false); + dom.setAttrib(clonedNode, 'id', ''); + if (block.hasChildNodes()) { + clonedNode.appendChild(block.firstChild); + block.appendChild(clonedNode); + } else { + caretNode = clonedNode; + block.appendChild(clonedNode); + } + } + } while ((node = node.parentNode) && node !== editableRoot); + } + emptyBlock(caretNode); + return block; + }; + var isCaretAtStartOrEndOfBlock = function (start) { + var node, name; + var normalizedOffset = normalizeZwspOffset(start, container, offset); + if (NodeType.isText(container) && (start ? normalizedOffset > 0 : normalizedOffset < container.nodeValue.length)) { + return false; + } + if (container.parentNode === parentBlock && isAfterLastNodeInContainer && !start) { + return true; + } + if (start && NodeType.isElement(container) && container === parentBlock.firstChild) { + return true; + } + if (containerAndSiblingName(container, 'TABLE') || containerAndSiblingName(container, 'HR')) { + return isAfterLastNodeInContainer && !start || !isAfterLastNodeInContainer && start; + } + var walker = new TreeWalker(container, parentBlock); + if (NodeType.isText(container)) { + if (start && normalizedOffset === 0) { + walker.prev(); + } else if (!start && normalizedOffset === container.nodeValue.length) { + walker.next(); + } + } + while (node = walker.current()) { + if (NodeType.isElement(node)) { + if (!node.getAttribute('data-mce-bogus')) { + name = node.nodeName.toLowerCase(); + if (nonEmptyElementsMap[name] && name !== 'br') { + return false; + } + } + } else if (NodeType.isText(node) && !/^[ \t\r\n]*$/.test(node.nodeValue)) { + return false; + } + if (start) { + walker.prev(); + } else { + walker.next(); + } + } + return true; + }; + var insertNewBlockAfter = function () { + if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName !== 'HGROUP') { + newBlock = createNewBlock(newBlockName); + } else { + newBlock = createNewBlock(); + } + if (Settings.shouldEndContainerOnEmptyBlock(editor) && canSplitBlock(dom, containerBlock) && dom.isEmpty(parentBlock)) { + newBlock = dom.split(containerBlock, parentBlock); + } else { + dom.insertAfter(newBlock, parentBlock); + } + NewLineUtils.moveToCaretPosition(editor, newBlock); + }; + NormalizeRange.normalize(dom, rng).each(function (normRng) { + rng.setStart(normRng.startContainer, normRng.startOffset); + rng.setEnd(normRng.endContainer, normRng.endOffset); + }); + container = rng.startContainer; + offset = rng.startOffset; + newBlockName = Settings.getForcedRootBlock(editor); + shiftKey = !!(evt && evt.shiftKey); + var ctrlKey = !!(evt && evt.ctrlKey); + if (NodeType.isElement(container) && container.hasChildNodes()) { + isAfterLastNodeInContainer = offset > container.childNodes.length - 1; + container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container; + if (isAfterLastNodeInContainer && NodeType.isText(container)) { + offset = container.nodeValue.length; + } else { + offset = 0; + } + } + editableRoot = getEditableRoot$1(dom, container); + if (!editableRoot) { + return; + } + if (newBlockName && !shiftKey || !newBlockName && shiftKey) { + container = wrapSelfAndSiblingsInDefaultBlock(editor, newBlockName, rng, container, offset); + } + parentBlock = dom.getParent(container, dom.isBlock); + containerBlock = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null; + parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : ''; + containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : ''; + if (containerBlockName === 'LI' && !ctrlKey) { + parentBlock = containerBlock; + containerBlock = containerBlock.parentNode; + parentBlockName = containerBlockName; + } + if (/^(LI|DT|DD)$/.test(parentBlockName)) { + if (dom.isEmpty(parentBlock)) { + InsertLi.insert(editor, createNewBlock, containerBlock, parentBlock, newBlockName); + return; + } + } + if (newBlockName && parentBlock === editor.getBody()) { + return; + } + newBlockName = newBlockName || 'P'; + if (isCaretContainerBlock(parentBlock)) { + newBlock = showCaretContainerBlock(parentBlock); + if (dom.isEmpty(parentBlock)) { + emptyBlock(parentBlock); + } + NewLineUtils.moveToCaretPosition(editor, newBlock); + } else if (isCaretAtStartOrEndOfBlock()) { + insertNewBlockAfter(); + } else if (isCaretAtStartOrEndOfBlock(true)) { + newBlock = parentBlock.parentNode.insertBefore(createNewBlock(), parentBlock); + NewLineUtils.moveToCaretPosition(editor, containerAndSiblingName(parentBlock, 'HR') ? newBlock : parentBlock); + } else { + tmpRng = includeZwspInRange(rng).cloneRange(); + tmpRng.setEndAfter(parentBlock); + fragment = tmpRng.extractContents(); + trimZwsp(fragment); + trimLeadingLineBreaks(fragment); + newBlock = fragment.firstChild; + dom.insertAfter(fragment, parentBlock); + trimInlineElementsOnLeftSideOfBlock(dom, nonEmptyElementsMap, newBlock); + addBrToBlockIfNeeded(dom, parentBlock); + if (dom.isEmpty(parentBlock)) { + emptyBlock(parentBlock); + } + newBlock.normalize(); + if (dom.isEmpty(newBlock)) { + dom.remove(newBlock); + insertNewBlockAfter(); + } else { + NewLineUtils.moveToCaretPosition(editor, newBlock); + } + } + dom.setAttrib(newBlock, 'id', ''); + editor.fire('NewBlock', { newBlock: newBlock }); + }; + var InsertBlock = { insert: insert$1 }; + + var hasRightSideContent = function (schema, container, parentBlock) { + var walker = new TreeWalker(container, parentBlock); + var node; + var nonEmptyElementsMap = schema.getNonEmptyElements(); + while (node = walker.next()) { + if (nonEmptyElementsMap[node.nodeName.toLowerCase()] || node.length > 0) { + return true; + } + } + }; + var scrollToBr = function (dom, selection, brElm) { + var marker = dom.create('span', {}, ' '); + brElm.parentNode.insertBefore(marker, brElm); + selection.scrollIntoView(marker); + dom.remove(marker); + }; + var moveSelectionToBr = function (dom, selection, brElm, extraBr) { + var rng = dom.createRng(); + if (!extraBr) { + rng.setStartAfter(brElm); + rng.setEndAfter(brElm); + } else { + rng.setStartBefore(brElm); + rng.setEndBefore(brElm); + } + selection.setRng(rng); + }; + var insertBrAtCaret = function (editor, evt) { + var selection = editor.selection; + var dom = editor.dom; + var rng = selection.getRng(); + var brElm; + var extraBr; + NormalizeRange.normalize(dom, rng).each(function (normRng) { + rng.setStart(normRng.startContainer, normRng.startOffset); + rng.setEnd(normRng.endContainer, normRng.endOffset); + }); + var offset = rng.startOffset; + var container = rng.startContainer; + if (container.nodeType === 1 && container.hasChildNodes()) { + var isAfterLastNodeInContainer = offset > container.childNodes.length - 1; + container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container; + if (isAfterLastNodeInContainer && container.nodeType === 3) { + offset = container.nodeValue.length; + } else { + offset = 0; + } + } + var parentBlock = dom.getParent(container, dom.isBlock); + var containerBlock = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null; + var containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : ''; + var isControlKey = !!(evt && evt.ctrlKey); + if (containerBlockName === 'LI' && !isControlKey) { + parentBlock = containerBlock; + } + if (container && container.nodeType === 3 && offset >= container.nodeValue.length) { + if (!hasRightSideContent(editor.schema, container, parentBlock)) { + brElm = dom.create('br'); + rng.insertNode(brElm); + rng.setStartAfter(brElm); + rng.setEndAfter(brElm); + extraBr = true; + } + } + brElm = dom.create('br'); + rangeInsertNode(dom, rng, brElm); + scrollToBr(dom, selection, brElm); + moveSelectionToBr(dom, selection, brElm, extraBr); + editor.undoManager.add(); + }; + var insertBrBefore = function (editor, inline) { + var br = Element.fromTag('br'); + before(Element.fromDom(inline), br); + editor.undoManager.add(); + }; + var insertBrAfter = function (editor, inline) { + if (!hasBrAfter(editor.getBody(), inline)) { + after(Element.fromDom(inline), Element.fromTag('br')); + } + var br = Element.fromTag('br'); + after(Element.fromDom(inline), br); + scrollToBr(editor.dom, editor.selection, br.dom()); + moveSelectionToBr(editor.dom, editor.selection, br.dom(), false); + editor.undoManager.add(); + }; + var isBeforeBr$1 = function (pos) { + return NodeType.isBr(pos.getNode()); + }; + var hasBrAfter = function (rootNode, startNode) { + if (isBeforeBr$1(CaretPosition$1.after(startNode))) { + return true; + } else { + return CaretFinder.nextPosition(rootNode, CaretPosition$1.after(startNode)).map(function (pos) { + return NodeType.isBr(pos.getNode()); + }).getOr(false); + } + }; + var isAnchorLink = function (elm) { + return elm && elm.nodeName === 'A' && 'href' in elm; + }; + var isInsideAnchor = function (location) { + return location.fold(constant(false), isAnchorLink, isAnchorLink, constant(false)); + }; + var readInlineAnchorLocation = function (editor) { + var isInlineTarget = curry(InlineUtils.isInlineTarget, editor); + var position = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + return BoundaryLocation.readLocation(isInlineTarget, editor.getBody(), position).filter(isInsideAnchor); + }; + var insertBrOutsideAnchor = function (editor, location) { + location.fold(noop, curry(insertBrBefore, editor), curry(insertBrAfter, editor), noop); + }; + var insert$2 = function (editor, evt) { + var anchorLocation = readInlineAnchorLocation(editor); + if (anchorLocation.isSome()) { + anchorLocation.each(curry(insertBrOutsideAnchor, editor)); + } else { + insertBrAtCaret(editor, evt); + } + }; + var InsertBr = { insert: insert$2 }; + + var matchesSelector = function (editor, selector) { + return NewLineUtils.getParentBlock(editor).filter(function (parentBlock) { + return selector.length > 0 && is(Element.fromDom(parentBlock), selector); + }).isSome(); + }; + var shouldInsertBr = function (editor) { + return matchesSelector(editor, Settings.getBrNewLineSelector(editor)); + }; + var shouldBlockNewLine = function (editor) { + return matchesSelector(editor, Settings.getNoNewLineSelector(editor)); + }; + var ContextSelectors = { + shouldInsertBr: shouldInsertBr, + shouldBlockNewLine: shouldBlockNewLine + }; + + var newLineAction = Adt.generate([ + { br: [] }, + { block: [] }, + { none: [] } + ]); + var shouldBlockNewLine$1 = function (editor, shiftKey) { + return ContextSelectors.shouldBlockNewLine(editor); + }; + var isBrMode = function (requiredState) { + return function (editor, shiftKey) { + var brMode = Settings.getForcedRootBlock(editor) === ''; + return brMode === requiredState; + }; + }; + var inListBlock = function (requiredState) { + return function (editor, shiftKey) { + return NewLineUtils.isListItemParentBlock(editor) === requiredState; + }; + }; + var inBlock = function (blockName, requiredState) { + return function (editor, shiftKey) { + var state = NewLineUtils.getParentBlockName(editor) === blockName.toUpperCase(); + return state === requiredState; + }; + }; + var inPreBlock = function (requiredState) { + return inBlock('pre', requiredState); + }; + var inSummaryBlock = function () { + return inBlock('summary', true); + }; + var shouldPutBrInPre$1 = function (requiredState) { + return function (editor, shiftKey) { + return Settings.shouldPutBrInPre(editor) === requiredState; + }; + }; + var inBrContext = function (editor, shiftKey) { + return ContextSelectors.shouldInsertBr(editor); + }; + var hasShiftKey = function (editor, shiftKey) { + return shiftKey; + }; + var canInsertIntoEditableRoot = function (editor) { + var forcedRootBlock = Settings.getForcedRootBlock(editor); + var rootEditable = NewLineUtils.getEditableRoot(editor.dom, editor.selection.getStart()); + return rootEditable && editor.schema.isValidChild(rootEditable.nodeName, forcedRootBlock ? forcedRootBlock : 'P'); + }; + var match$2 = function (predicates, action) { + return function (editor, shiftKey) { + var isMatch = foldl(predicates, function (res, p) { + return res && p(editor, shiftKey); + }, true); + return isMatch ? Option.some(action) : Option.none(); + }; + }; + var getAction$1 = function (editor, evt) { + return LazyEvaluator.evaluateUntil([ + match$2([shouldBlockNewLine$1], newLineAction.none()), + match$2([inSummaryBlock()], newLineAction.br()), + match$2([ + inPreBlock(true), + shouldPutBrInPre$1(false), + hasShiftKey + ], newLineAction.br()), + match$2([ + inPreBlock(true), + shouldPutBrInPre$1(false) + ], newLineAction.block()), + match$2([ + inPreBlock(true), + shouldPutBrInPre$1(true), + hasShiftKey + ], newLineAction.block()), + match$2([ + inPreBlock(true), + shouldPutBrInPre$1(true) + ], newLineAction.br()), + match$2([ + inListBlock(true), + hasShiftKey + ], newLineAction.br()), + match$2([inListBlock(true)], newLineAction.block()), + match$2([ + isBrMode(true), + hasShiftKey, + canInsertIntoEditableRoot + ], newLineAction.block()), + match$2([isBrMode(true)], newLineAction.br()), + match$2([inBrContext], newLineAction.br()), + match$2([ + isBrMode(false), + hasShiftKey + ], newLineAction.br()), + match$2([canInsertIntoEditableRoot], newLineAction.block()) + ], [ + editor, + !!(evt && evt.shiftKey) + ]).getOr(newLineAction.none()); + }; + var NewLineAction = { getAction: getAction$1 }; + + var insert$3 = function (editor, evt) { + NewLineAction.getAction(editor, evt).fold(function () { + InsertBr.insert(editor, evt); + }, function () { + InsertBlock.insert(editor, evt); + }, noop); + }; + var InsertNewLine = { insert: insert$3 }; + + var handleEnterKeyEvent = function (editor, event) { + if (event.isDefaultPrevented()) { + return; + } + event.preventDefault(); + endTypingLevelIgnoreLocks(editor.undoManager); + editor.undoManager.transact(function () { + if (editor.selection.isCollapsed() === false) { + editor.execCommand('Delete'); + } + InsertNewLine.insert(editor, event); + }); + }; + var setup$a = function (editor) { + editor.on('keydown', function (event) { + if (event.keyCode === VK.ENTER) { + handleEnterKeyEvent(editor, event); + } + }); + }; + var EnterKey = { setup: setup$a }; + + var insertTextAtPosition = function (text, pos) { + var container = pos.container(); + var offset = pos.offset(); + if (NodeType.isText(container)) { + container.insertData(offset, text); + return Option.some(CaretPosition(container, offset + text.length)); + } else { + return getElementFromPosition(pos).map(function (elm) { + var textNode = Element.fromText(text); + if (pos.isAtEnd()) { + after(elm, textNode); + } else { + before(elm, textNode); + } + return CaretPosition(textNode.dom(), text.length); + }); + } + }; + var insertNbspAtPosition = curry(insertTextAtPosition, '\xA0'); + var insertSpaceAtPosition = curry(insertTextAtPosition, ' '); + + var nbsp = '\xA0'; + var isInMiddleOfText = function (pos) { + return CaretPosition.isTextPosition(pos) && !pos.isAtStart() && !pos.isAtEnd(); + }; + var getClosestBlock$1 = function (root, pos) { + var parentBlocks = filter(Parents.parentsAndSelf(Element.fromDom(pos.container()), root), isBlock); + return head(parentBlocks).getOr(root); + }; + var hasSpaceBefore = function (root, pos) { + if (isInMiddleOfText(pos)) { + return isAfterSpace(pos); + } else { + return isAfterSpace(pos) || CaretFinder.prevPosition(getClosestBlock$1(root, pos).dom(), pos).exists(isAfterSpace); + } + }; + var hasSpaceAfter = function (root, pos) { + if (isInMiddleOfText(pos)) { + return isBeforeSpace(pos); + } else { + return isBeforeSpace(pos) || CaretFinder.nextPosition(getClosestBlock$1(root, pos).dom(), pos).exists(isBeforeSpace); + } + }; + var isPreValue = function (value) { + return contains([ + 'pre', + 'pre-wrap' + ], value); + }; + var isInPre = function (pos) { + return getElementFromPosition(pos).bind(function (elm) { + return closest(elm, isElement$1); + }).exists(function (elm) { + return isPreValue(get$2(elm, 'white-space')); + }); + }; + var isAtBeginningOfBody = function (root, pos) { + return CaretFinder.prevPosition(root.dom(), pos).isNone(); + }; + var isAtEndOfBody = function (root, pos) { + return CaretFinder.nextPosition(root.dom(), pos).isNone(); + }; + var isAtLineBoundary = function (root, pos) { + return isAtBeginningOfBody(root, pos) || isAtEndOfBody(root, pos) || isAtStartOfBlock(root, pos) || isAtEndOfBlock(root, pos) || isAfterBr(root, pos) || isBeforeBr(root, pos); + }; + var needsToHaveNbsp = function (root, pos) { + if (isInPre(pos)) { + return false; + } else { + return isAtLineBoundary(root, pos) || hasSpaceBefore(root, pos) || hasSpaceAfter(root, pos); + } + }; + var needsToBeNbspLeft = function (root, pos) { + if (isInPre(pos)) { + return false; + } else { + return isAtStartOfBlock(root, pos) || isBeforeBlock(root, pos) || isAfterBr(root, pos) || hasSpaceBefore(root, pos); + } + }; + var leanRight = function (pos) { + var container = pos.container(); + var offset = pos.offset(); + if (NodeType.isText(container) && offset < container.data.length) { + return CaretPosition(container, offset + 1); + } else { + return pos; + } + }; + var needsToBeNbspRight = function (root, pos) { + var afterPos = leanRight(pos); + if (isInPre(afterPos)) { + return false; + } else { + return isAtEndOfBlock(root, afterPos) || isAfterBlock(root, afterPos) || isBeforeBr(root, afterPos) || hasSpaceAfter(root, afterPos); + } + }; + var needsToBeNbsp = function (root, pos) { + return needsToBeNbspLeft(root, pos) || needsToBeNbspRight(root, pos); + }; + var isNbspAt = function (text, offset) { + return isNbsp(text.charAt(offset)); + }; + var hasNbsp = function (pos) { + var container = pos.container(); + return NodeType.isText(container) && contains$1(container.data, nbsp); + }; + var normalizeNbspMiddle = function (text) { + var chars = text.split(''); + return map(chars, function (chr, i) { + if (isNbsp(chr) && i > 0 && i < chars.length - 1 && isContent(chars[i - 1]) && isContent(chars[i + 1])) { + return ' '; + } else { + return chr; + } + }).join(''); + }; + var normalizeNbspAtStart = function (root, node) { + var text = node.data; + var firstPos = CaretPosition(node, 0); + if (isNbspAt(text, 0) && !needsToBeNbsp(root, firstPos)) { + node.data = ' ' + text.slice(1); + return true; + } else { + return false; + } + }; + var normalizeNbspInMiddleOfTextNode = function (node) { + var text = node.data; + var newText = normalizeNbspMiddle(text); + if (newText !== text) { + node.data = newText; + return true; + } else { + return false; + } + }; + var normalizeNbspAtEnd = function (root, node) { + var text = node.data; + var lastPos = CaretPosition(node, text.length - 1); + if (isNbspAt(text, text.length - 1) && !needsToBeNbsp(root, lastPos)) { + node.data = text.slice(0, -1) + ' '; + return true; + } else { + return false; + } + }; + var normalizeNbsps = function (root, pos) { + return Option.some(pos).filter(hasNbsp).bind(function (pos) { + var container = pos.container(); + var normalized = normalizeNbspAtStart(root, container) || normalizeNbspInMiddleOfTextNode(container) || normalizeNbspAtEnd(root, container); + return normalized ? Option.some(pos) : Option.none(); + }); + }; + var normalizeNbspsInEditor = function (editor) { + var root = Element.fromDom(editor.getBody()); + if (editor.selection.isCollapsed()) { + normalizeNbsps(root, CaretPosition.fromRangeStart(editor.selection.getRng())).each(function (pos) { + editor.selection.setRng(pos.toRange()); + }); + } + }; + + var locationToCaretPosition = function (root) { + return function (location) { + return location.fold(function (element) { + return CaretFinder.prevPosition(root.dom(), CaretPosition$1.before(element)); + }, function (element) { + return CaretFinder.firstPositionIn(element); + }, function (element) { + return CaretFinder.lastPositionIn(element); + }, function (element) { + return CaretFinder.nextPosition(root.dom(), CaretPosition$1.after(element)); + }); + }; + }; + var insertInlineBoundarySpaceOrNbsp = function (root, pos) { + return function (checkPos) { + return needsToHaveNbsp(root, checkPos) ? insertNbspAtPosition(pos) : insertSpaceAtPosition(pos); + }; + }; + var setSelection$1 = function (editor) { + return function (pos) { + editor.selection.setRng(pos.toRange()); + editor.nodeChanged(); + return true; + }; + }; + var insertSpaceOrNbspAtSelection = function (editor) { + var pos = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + var root = Element.fromDom(editor.getBody()); + if (editor.selection.isCollapsed()) { + var isInlineTarget = curry(InlineUtils.isInlineTarget, editor); + var caretPosition = CaretPosition$1.fromRangeStart(editor.selection.getRng()); + return BoundaryLocation.readLocation(isInlineTarget, editor.getBody(), caretPosition).bind(locationToCaretPosition(root)).bind(insertInlineBoundarySpaceOrNbsp(root, pos)).exists(setSelection$1(editor)); + } else { + return false; + } + }; + + var executeKeydownOverride$2 = function (editor, evt) { + MatchKeys.execute([{ + keyCode: VK.SPACEBAR, + action: MatchKeys.action(insertSpaceOrNbspAtSelection, editor) + }], evt).each(function (_) { + evt.preventDefault(); + }); + }; + var setup$b = function (editor) { + editor.on('keydown', function (evt) { + if (evt.isDefaultPrevented() === false) { + executeKeydownOverride$2(editor, evt); + } + }); + }; + var SpaceKey = { setup: setup$b }; + + var findBlockCaretContainer = function (editor) { + return descendant(Element.fromDom(editor.getBody()), '*[data-mce-caret]').fold(constant(null), function (elm) { + return elm.dom(); + }); + }; + var removeIeControlRect = function (editor) { + editor.selection.setRng(editor.selection.getRng()); + }; + var showBlockCaretContainer = function (editor, blockCaretContainer) { + if (blockCaretContainer.hasAttribute('data-mce-caret')) { + showCaretContainerBlock(blockCaretContainer); + removeIeControlRect(editor); + editor.selection.scrollIntoView(blockCaretContainer); + } + }; + var handleBlockContainer = function (editor, e) { + var blockCaretContainer = findBlockCaretContainer(editor); + if (!blockCaretContainer) { + return; + } + if (e.type === 'compositionstart') { + e.preventDefault(); + e.stopPropagation(); + showBlockCaretContainer(editor, blockCaretContainer); + return; + } + if (hasContent(blockCaretContainer)) { + showBlockCaretContainer(editor, blockCaretContainer); + editor.undoManager.add(); + } + }; + var setup$c = function (editor) { + editor.on('keyup compositionstart', curry(handleBlockContainer, editor)); + }; + var CaretContainerInput = { setup: setup$c }; + + var browser$5 = detect$3().browser; + var setupIeInput = function (editor) { + var keypressThrotter = first(function () { + if (!editor.composing) { + normalizeNbspsInEditor(editor); + } + }, 0); + if (browser$5.isIE()) { + editor.on('keypress', function (e) { + keypressThrotter.throttle(); + }); + editor.on('remove', function (e) { + keypressThrotter.cancel(); + }); + } + }; + var setup$d = function (editor) { + setupIeInput(editor); + editor.on('input', function (e) { + if (e.isComposing === false) { + normalizeNbspsInEditor(editor); + } + }); + }; + + var executeKeydownOverride$3 = function (editor, evt) { + MatchKeys.execute([ + { + keyCode: VK.END, + action: moveToLineEndPoint(editor, true) + }, + { + keyCode: VK.HOME, + action: moveToLineEndPoint(editor, false) + } + ], evt).each(function (_) { + evt.preventDefault(); + }); + }; + var setup$e = function (editor) { + editor.on('keydown', function (evt) { + if (evt.isDefaultPrevented() === false) { + executeKeydownOverride$3(editor, evt); + } + }); + }; + var HomeEndKeys = { setup: setup$e }; + + var setup$f = function (editor) { + var caret = BoundarySelection.setupSelectedState(editor); + CaretContainerInput.setup(editor); + ArrowKeys.setup(editor, caret); + DeleteBackspaceKeys.setup(editor, caret); + EnterKey.setup(editor); + SpaceKey.setup(editor); + setup$d(editor); + HomeEndKeys.setup(editor); + }; + var KeyboardOverrides = { setup: setup$f }; + + var Quirks = function (editor) { + var each = Tools.each; + var BACKSPACE = VK.BACKSPACE, DELETE = VK.DELETE, dom = editor.dom, selection = editor.selection, settings = editor.settings, parser = editor.parser; + var isGecko = Env.gecko, isIE = Env.ie, isWebKit = Env.webkit; + var mceInternalUrlPrefix = 'data:text/mce-internal,'; + var mceInternalDataType = isIE ? 'Text' : 'URL'; + var setEditorCommandState = function (cmd, state) { + try { + editor.getDoc().execCommand(cmd, false, state); + } catch (ex) { + } + }; + var isDefaultPrevented = function (e) { + return e.isDefaultPrevented(); + }; + var setMceInternalContent = function (e) { + var selectionHtml, internalContent; + if (e.dataTransfer) { + if (editor.selection.isCollapsed() && e.target.tagName === 'IMG') { + selection.select(e.target); + } + selectionHtml = editor.selection.getContent(); + if (selectionHtml.length > 0) { + internalContent = mceInternalUrlPrefix + escape(editor.id) + ',' + escape(selectionHtml); + e.dataTransfer.setData(mceInternalDataType, internalContent); + } + } + }; + var getMceInternalContent = function (e) { + var internalContent; + if (e.dataTransfer) { + internalContent = e.dataTransfer.getData(mceInternalDataType); + if (internalContent && internalContent.indexOf(mceInternalUrlPrefix) >= 0) { + internalContent = internalContent.substr(mceInternalUrlPrefix.length).split(','); + return { + id: unescape(internalContent[0]), + html: unescape(internalContent[1]) + }; + } + } + return null; + }; + var insertClipboardContents = function (content, internal) { + if (editor.queryCommandSupported('mceInsertClipboardContent')) { + editor.execCommand('mceInsertClipboardContent', false, { + content: content, + internal: internal + }); + } else { + editor.execCommand('mceInsertContent', false, content); + } + }; + var emptyEditorWhenDeleting = function () { + var serializeRng = function (rng) { + var body = dom.create('body'); + var contents = rng.cloneContents(); + body.appendChild(contents); + return selection.serializer.serialize(body, { format: 'html' }); + }; + var allContentsSelected = function (rng) { + var selection = serializeRng(rng); + var allRng = dom.createRng(); + allRng.selectNode(editor.getBody()); + var allSelection = serializeRng(allRng); + return selection === allSelection; + }; + editor.on('keydown', function (e) { + var keyCode = e.keyCode; + var isCollapsed, body; + if (!isDefaultPrevented(e) && (keyCode === DELETE || keyCode === BACKSPACE)) { + isCollapsed = editor.selection.isCollapsed(); + body = editor.getBody(); + if (isCollapsed && !dom.isEmpty(body)) { + return; + } + if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) { + return; + } + e.preventDefault(); + editor.setContent(''); + if (body.firstChild && dom.isBlock(body.firstChild)) { + editor.selection.setCursorLocation(body.firstChild, 0); + } else { + editor.selection.setCursorLocation(body, 0); + } + editor.nodeChanged(); + } + }); + }; + var selectAll = function () { + editor.shortcuts.add('meta+a', null, 'SelectAll'); + }; + var inputMethodFocus = function () { + if (!editor.inline) { + dom.bind(editor.getDoc(), 'mousedown mouseup', function (e) { + var rng; + if (e.target === editor.getDoc().documentElement) { + rng = selection.getRng(); + editor.getBody().focus(); + if (e.type === 'mousedown') { + if (isCaretContainer(rng.startContainer)) { + return; + } + selection.placeCaretAt(e.clientX, e.clientY); + } else { + selection.setRng(rng); + } + } + }); + } + }; + var removeHrOnBackspace = function () { + editor.on('keydown', function (e) { + if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) { + if (!editor.getBody().getElementsByTagName('hr').length) { + return; + } + if (selection.isCollapsed() && selection.getRng().startOffset === 0) { + var node = selection.getNode(); + var previousSibling = node.previousSibling; + if (node.nodeName === 'HR') { + dom.remove(node); + e.preventDefault(); + return; + } + if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'hr') { + dom.remove(previousSibling); + e.preventDefault(); + } + } + } + }); + }; + var focusBody = function () { + if (!domGlobals.Range.prototype.getClientRects) { + editor.on('mousedown', function (e) { + if (!isDefaultPrevented(e) && e.target.nodeName === 'HTML') { + var body_1 = editor.getBody(); + body_1.blur(); + Delay.setEditorTimeout(editor, function () { + body_1.focus(); + }); + } + }); + } + }; + var selectControlElements = function () { + editor.on('click', function (e) { + var target = e.target; + if (/^(IMG|HR)$/.test(target.nodeName) && dom.getContentEditableParent(target) !== 'false') { + e.preventDefault(); + editor.selection.select(target); + editor.nodeChanged(); + } + if (target.nodeName === 'A' && dom.hasClass(target, 'mce-item-anchor')) { + e.preventDefault(); + selection.select(target); + } + }); + }; + var removeStylesWhenDeletingAcrossBlockElements = function () { + var getAttributeApplyFunction = function () { + var template = dom.getAttribs(selection.getStart().cloneNode(false)); + return function () { + var target = selection.getStart(); + if (target !== editor.getBody()) { + dom.setAttrib(target, 'style', null); + each(template, function (attr) { + target.setAttributeNode(attr.cloneNode(true)); + }); + } + }; + }; + var isSelectionAcrossElements = function () { + return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) !== dom.getParent(selection.getEnd(), dom.isBlock); + }; + editor.on('keypress', function (e) { + var applyAttributes; + if (!isDefaultPrevented(e) && (e.keyCode === 8 || e.keyCode === 46) && isSelectionAcrossElements()) { + applyAttributes = getAttributeApplyFunction(); + editor.getDoc().execCommand('delete', false, null); + applyAttributes(); + e.preventDefault(); + return false; + } + }); + dom.bind(editor.getDoc(), 'cut', function (e) { + var applyAttributes; + if (!isDefaultPrevented(e) && isSelectionAcrossElements()) { + applyAttributes = getAttributeApplyFunction(); + Delay.setEditorTimeout(editor, function () { + applyAttributes(); + }); + } + }); + }; + var disableBackspaceIntoATable = function () { + editor.on('keydown', function (e) { + if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) { + if (selection.isCollapsed() && selection.getRng().startOffset === 0) { + var previousSibling = selection.getNode().previousSibling; + if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === 'table') { + e.preventDefault(); + return false; + } + } + } + }); + }; + var removeBlockQuoteOnBackSpace = function () { + editor.on('keydown', function (e) { + var rng, container, offset, root, parent; + if (isDefaultPrevented(e) || e.keyCode !== VK.BACKSPACE) { + return; + } + rng = selection.getRng(); + container = rng.startContainer; + offset = rng.startOffset; + root = dom.getRoot(); + parent = container; + if (!rng.collapsed || offset !== 0) { + return; + } + while (parent && parent.parentNode && parent.parentNode.firstChild === parent && parent.parentNode !== root) { + parent = parent.parentNode; + } + if (parent.tagName === 'BLOCKQUOTE') { + editor.formatter.toggle('blockquote', null, parent); + rng = dom.createRng(); + rng.setStart(container, 0); + rng.setEnd(container, 0); + selection.setRng(rng); + } + }); + }; + var setGeckoEditingOptions = function () { + var setOpts = function () { + setEditorCommandState('StyleWithCSS', false); + setEditorCommandState('enableInlineTableEditing', false); + if (!settings.object_resizing) { + setEditorCommandState('enableObjectResizing', false); + } + }; + if (!settings.readonly) { + editor.on('BeforeExecCommand mousedown', setOpts); + } + }; + var addBrAfterLastLinks = function () { + var fixLinks = function () { + each(dom.select('a'), function (node) { + var parentNode = node.parentNode; + var root = dom.getRoot(); + if (parentNode.lastChild === node) { + while (parentNode && !dom.isBlock(parentNode)) { + if (parentNode.parentNode.lastChild !== parentNode || parentNode === root) { + return; + } + parentNode = parentNode.parentNode; + } + dom.add(parentNode, 'br', { 'data-mce-bogus': 1 }); + } + }); + }; + editor.on('SetContent ExecCommand', function (e) { + if (e.type === 'setcontent' || e.command === 'mceInsertLink') { + fixLinks(); + } + }); + }; + var setDefaultBlockType = function () { + if (settings.forced_root_block) { + editor.on('init', function () { + setEditorCommandState('DefaultParagraphSeparator', Settings.getForcedRootBlock(editor)); + }); + } + }; + var normalizeSelection = function () { + editor.on('keyup focusin mouseup', function (e) { + if (!VK.modifierPressed(e)) { + selection.normalize(); + } + }, true); + }; + var showBrokenImageIcon = function () { + editor.contentStyles.push('img:-moz-broken {' + '-moz-force-broken-image-icon:1;' + 'min-width:24px;' + 'min-height:24px' + '}'); + }; + var restoreFocusOnKeyDown = function () { + if (!editor.inline) { + editor.on('keydown', function () { + if (domGlobals.document.activeElement === domGlobals.document.body) { + editor.getWin().focus(); + } + }); + } + }; + var bodyHeight = function () { + if (!editor.inline) { + editor.contentStyles.push('body {min-height: 150px}'); + editor.on('click', function (e) { + var rng; + if (e.target.nodeName === 'HTML') { + if (Env.ie > 11) { + editor.getBody().focus(); + return; + } + rng = editor.selection.getRng(); + editor.getBody().focus(); + editor.selection.setRng(rng); + editor.selection.normalize(); + editor.nodeChanged(); + } + }); + } + }; + var blockCmdArrowNavigation = function () { + if (Env.mac) { + editor.on('keydown', function (e) { + if (VK.metaKeyPressed(e) && !e.shiftKey && (e.keyCode === 37 || e.keyCode === 39)) { + e.preventDefault(); + var selection_1 = editor.selection.getSel(); + selection_1.modify('move', e.keyCode === 37 ? 'backward' : 'forward', 'lineboundary'); + } + }); + } + }; + var disableAutoUrlDetect = function () { + setEditorCommandState('AutoUrlDetect', false); + }; + var tapLinksAndImages = function () { + editor.on('click', function (e) { + var elm = e.target; + do { + if (elm.tagName === 'A') { + e.preventDefault(); + return; + } + } while (elm = elm.parentNode); + }); + editor.contentStyles.push('.mce-content-body {-webkit-touch-callout: none}'); + }; + var blockFormSubmitInsideEditor = function () { + editor.on('init', function () { + editor.dom.bind(editor.getBody(), 'submit', function (e) { + e.preventDefault(); + }); + }); + }; + var removeAppleInterchangeBrs = function () { + parser.addNodeFilter('br', function (nodes) { + var i = nodes.length; + while (i--) { + if (nodes[i].attr('class') === 'Apple-interchange-newline') { + nodes[i].remove(); + } + } + }); + }; + var ieInternalDragAndDrop = function () { + editor.on('dragstart', function (e) { + setMceInternalContent(e); + }); + editor.on('drop', function (e) { + if (!isDefaultPrevented(e)) { + var internalContent = getMceInternalContent(e); + if (internalContent && internalContent.id !== editor.id) { + e.preventDefault(); + var rng = CaretRangeFromPoint.fromPoint(e.x, e.y, editor.getDoc()); + selection.setRng(rng); + insertClipboardContents(internalContent.html, true); + } + } + }); + }; + var refreshContentEditable = function () { + }; + var isHidden = function () { + var sel; + if (!isGecko || editor.removed) { + return false; + } + sel = editor.selection.getSel(); + return !sel || !sel.rangeCount || sel.rangeCount === 0; + }; + removeBlockQuoteOnBackSpace(); + emptyEditorWhenDeleting(); + if (!Env.windowsPhone) { + normalizeSelection(); + } + if (isWebKit) { + inputMethodFocus(); + selectControlElements(); + setDefaultBlockType(); + blockFormSubmitInsideEditor(); + disableBackspaceIntoATable(); + removeAppleInterchangeBrs(); + if (Env.iOS) { + restoreFocusOnKeyDown(); + bodyHeight(); + tapLinksAndImages(); + } else { + selectAll(); + } + } + if (Env.ie >= 11) { + bodyHeight(); + disableBackspaceIntoATable(); + } + if (Env.ie) { + selectAll(); + disableAutoUrlDetect(); + ieInternalDragAndDrop(); + } + if (isGecko) { + removeHrOnBackspace(); + focusBody(); + removeStylesWhenDeletingAcrossBlockElements(); + setGeckoEditingOptions(); + addBrAfterLastLinks(); + showBrokenImageIcon(); + blockCmdArrowNavigation(); + disableBackspaceIntoATable(); + } + return { + refreshContentEditable: refreshContentEditable, + isHidden: isHidden + }; + }; + + var isTextBlockNode = function (node) { + return NodeType.isElement(node) && isTextBlock(Element.fromDom(node)); + }; + var normalizeSelection$1 = function (editor) { + var rng = editor.selection.getRng(); + var startPos = CaretPosition.fromRangeStart(rng); + var endPos = CaretPosition.fromRangeEnd(rng); + if (CaretPosition.isElementPosition(startPos)) { + var container = startPos.container(); + if (isTextBlockNode(container)) { + CaretFinder.firstPositionIn(container).each(function (pos) { + return rng.setStart(pos.container(), pos.offset()); + }); + } + } + if (CaretPosition.isElementPosition(endPos)) { + var container = startPos.container(); + if (isTextBlockNode(container)) { + CaretFinder.lastPositionIn(container).each(function (pos) { + return rng.setEnd(pos.container(), pos.offset()); + }); + } + } + editor.selection.setRng(RangeNormalizer.normalize(rng)); + }; + var setup$g = function (editor) { + editor.on('click', function (e) { + if (e.detail >= 3) { + normalizeSelection$1(editor); + } + }); + }; + + var preventSummaryToggle = function (editor) { + editor.on('click', function (e) { + if (editor.dom.getParent(e.target, 'details')) { + e.preventDefault(); + } + }); + }; + var filterDetails = function (editor) { + editor.parser.addNodeFilter('details', function (elms) { + each(elms, function (details) { + details.attr('data-mce-open', details.attr('open')); + details.attr('open', 'open'); + }); + }); + editor.serializer.addNodeFilter('details', function (elms) { + each(elms, function (details) { + var open = details.attr('data-mce-open'); + details.attr('open', isString(open) ? open : null); + details.attr('data-mce-open', null); + }); + }); + }; + var setup$h = function (editor) { + preventSummaryToggle(editor); + filterDetails(editor); + }; + + var DOM$3 = DOMUtils$1.DOM; + var appendStyle = function (editor, text) { + var head = Element.fromDom(editor.getDoc().head); + var tag = Element.fromTag('style'); + set(tag, 'type', 'text/css'); + append(tag, Element.fromText(text)); + append(head, tag); + }; + var createParser = function (editor) { + var parser = DomParser(editor.settings, editor.schema); + parser.addAttributeFilter('src,href,style,tabindex', function (nodes, name) { + var i = nodes.length, node; + var dom = editor.dom; + var value, internalName; + while (i--) { + node = nodes[i]; + value = node.attr(name); + internalName = 'data-mce-' + name; + if (!node.attr(internalName)) { + if (value.indexOf('data:') === 0 || value.indexOf('blob:') === 0) { + continue; + } + if (name === 'style') { + value = dom.serializeStyle(dom.parseStyle(value), node.name); + if (!value.length) { + value = null; + } + node.attr(internalName, value); + node.attr(name, value); + } else if (name === 'tabindex') { + node.attr(internalName, value); + node.attr(name, null); + } else { + node.attr(internalName, editor.convertURL(value, name, node.name)); + } + } + } + }); + parser.addNodeFilter('script', function (nodes) { + var i = nodes.length, node, type; + while (i--) { + node = nodes[i]; + type = node.attr('type') || 'no/type'; + if (type.indexOf('mce-') !== 0) { + node.attr('type', 'mce-' + type); + } + } + }); + parser.addNodeFilter('#cdata', function (nodes) { + var i = nodes.length, node; + while (i--) { + node = nodes[i]; + node.type = 8; + node.name = '#comment'; + node.value = '[CDATA[' + node.value + ']]'; + } + }); + parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div', function (nodes) { + var i = nodes.length, node; + var nonEmptyElements = editor.schema.getNonEmptyElements(); + while (i--) { + node = nodes[i]; + if (node.isEmpty(nonEmptyElements) && node.getAll('br').length === 0) { + node.append(new Node$1('br', 1)).shortEnded = true; + } + } + }); + return parser; + }; + var autoFocus = function (editor) { + if (editor.settings.auto_focus) { + Delay.setEditorTimeout(editor, function () { + var focusEditor; + if (editor.settings.auto_focus === true) { + focusEditor = editor; + } else { + focusEditor = editor.editorManager.get(editor.settings.auto_focus); + } + if (!focusEditor.destroyed) { + focusEditor.focus(); + } + }, 100); + } + }; + var initEditor = function (editor) { + editor.bindPendingEventDelegates(); + editor.initialized = true; + editor.fire('init'); + editor.focus(true); + editor.nodeChanged({ initial: true }); + editor.execCallback('init_instance_callback', editor); + autoFocus(editor); + }; + var getStyleSheetLoader = function (editor) { + return editor.inline ? DOM$3.styleSheetLoader : editor.dom.styleSheetLoader; + }; + var initContentBody = function (editor, skipWrite) { + var settings = editor.settings; + var targetElm = editor.getElement(); + var doc = editor.getDoc(), body, contentCssText; + if (!settings.inline) { + editor.getElement().style.visibility = editor.orgVisibility; + } + if (!skipWrite && !editor.inline) { + doc.open(); + doc.write(editor.iframeHTML); + doc.close(); + } + if (editor.inline) { + editor.on('remove', function () { + var bodyEl = this.getBody(); + DOM$3.removeClass(bodyEl, 'mce-content-body'); + DOM$3.removeClass(bodyEl, 'mce-edit-focus'); + DOM$3.setAttrib(bodyEl, 'contentEditable', null); + }); + DOM$3.addClass(targetElm, 'mce-content-body'); + editor.contentDocument = doc = domGlobals.document; + editor.contentWindow = domGlobals.window; + editor.bodyElement = targetElm; + editor.contentAreaContainer = targetElm; + settings.root_name = targetElm.nodeName.toLowerCase(); + } + body = editor.getBody(); + body.disabled = true; + editor.readonly = settings.readonly; + if (!editor.readonly) { + if (editor.inline && DOM$3.getStyle(body, 'position', true) === 'static') { + body.style.position = 'relative'; + } + body.contentEditable = editor.getParam('content_editable_state', true); + } + body.disabled = false; + editor.editorUpload = EditorUpload(editor); + editor.schema = Schema(settings); + editor.dom = DOMUtils$1(doc, { + keep_values: true, + url_converter: editor.convertURL, + url_converter_scope: editor, + hex_colors: settings.force_hex_style_colors, + update_styles: true, + root_element: editor.inline ? editor.getBody() : null, + collect: function () { + return editor.inline; + }, + schema: editor.schema, + contentCssCors: Settings.shouldUseContentCssCors(editor), + referrerPolicy: Settings.getReferrerPolicy(editor), + onSetAttrib: function (e) { + editor.fire('SetAttrib', e); + } + }); + editor.parser = createParser(editor); + editor.serializer = Serializer$1(settings, editor); + editor.selection = Selection$1(editor.dom, editor.getWin(), editor.serializer, editor); + editor.annotator = Annotator(editor); + editor.formatter = Formatter(editor); + editor.undoManager = UndoManager(editor); + editor._nodeChangeDispatcher = new NodeChange(editor); + editor._selectionOverrides = SelectionOverrides(editor); + setup$h(editor); + setup$g(editor); + KeyboardOverrides.setup(editor); + ForceBlocks.setup(editor); + editor.fire('PreInit'); + if (!settings.browser_spellcheck && !settings.gecko_spellcheck) { + doc.body.spellcheck = false; + DOM$3.setAttrib(body, 'spellcheck', 'false'); + } + editor.quirks = Quirks(editor); + editor.fire('PostRender'); + var directionality = Settings.getDirectionality(editor); + if (directionality !== undefined) { + body.dir = directionality; + } + if (settings.protect) { + editor.on('BeforeSetContent', function (e) { + Tools.each(settings.protect, function (pattern) { + e.content = e.content.replace(pattern, function (str) { + return ''; + }); + }); + }); + } + editor.on('SetContent', function () { + editor.addVisual(editor.getBody()); + }); + editor.load({ + initial: true, + format: 'html' + }); + editor.startContent = editor.getContent({ format: 'raw' }); + editor.on('compositionstart compositionend', function (e) { + editor.composing = e.type === 'compositionstart'; + }); + if (editor.contentStyles.length > 0) { + contentCssText = ''; + Tools.each(editor.contentStyles, function (style) { + contentCssText += style + '\r\n'; + }); + editor.dom.addStyle(contentCssText); + } + getStyleSheetLoader(editor).loadAll(editor.contentCSS, function (_) { + initEditor(editor); + }, function (urls) { + initEditor(editor); + }); + if (settings.content_style) { + appendStyle(editor, settings.content_style); + } + }; + var InitContentBody = { initContentBody: initContentBody }; + + var DOM$4 = DOMUtils$1.DOM; + var relaxDomain = function (editor, ifr) { + if (domGlobals.document.domain !== domGlobals.window.location.hostname && Env.browser.isIE()) { + var bodyUuid = Uuid.uuid('mce'); + editor[bodyUuid] = function () { + InitContentBody.initContentBody(editor); + }; + var domainRelaxUrl = 'javascript:(function(){' + 'document.open();document.domain="' + domGlobals.document.domain + '";' + 'var ed = window.parent.tinymce.get("' + editor.id + '");document.write(ed.iframeHTML);' + 'document.close();ed.' + bodyUuid + '(true);})()'; + DOM$4.setAttrib(ifr, 'src', domainRelaxUrl); + return true; + } + return false; + }; + var createIframeElement = function (id, title, height, customAttrs) { + var iframe = Element.fromTag('iframe'); + setAll(iframe, customAttrs); + setAll(iframe, { + id: id + '_ifr', + frameBorder: '0', + allowTransparency: 'true', + title: title + }); + add$3(iframe, 'tox-edit-area__iframe'); + return iframe; + }; + var getIframeHtml = function (editor) { + var bodyId, bodyClass, iframeHTML; + iframeHTML = Settings.getDocType(editor) + ''; + if (Settings.getDocumentBaseUrl(editor) !== editor.documentBaseUrl) { + iframeHTML += ''; + } + iframeHTML += ''; + bodyId = Settings.getBodyId(editor); + bodyClass = Settings.getBodyClass(editor); + if (Settings.getContentSecurityPolicy(editor)) { + iframeHTML += ''; + } + iframeHTML += '
'; + return iframeHTML; + }; + var createIframe = function (editor, o) { + var title = editor.editorManager.translate('Rich Text Area. Press ALT-0 for help.'); + var ifr = createIframeElement(editor.id, title, o.height, Settings.getIframeAttrs(editor)).dom(); + ifr.onload = function () { + ifr.onload = null; + editor.fire('load'); + }; + var isDomainRelaxed = relaxDomain(editor, ifr); + editor.contentAreaContainer = o.iframeContainer; + editor.iframeElement = ifr; + editor.iframeHTML = getIframeHtml(editor); + DOM$4.add(o.iframeContainer, ifr); + return isDomainRelaxed; + }; + var init$1 = function (editor, boxInfo) { + var isDomainRelaxed = createIframe(editor, boxInfo); + if (boxInfo.editorContainer) { + DOM$4.get(boxInfo.editorContainer).style.display = editor.orgDisplay; + editor.hidden = DOM$4.isHidden(boxInfo.editorContainer); + } + editor.getElement().style.display = 'none'; + DOM$4.setAttrib(editor.id, 'aria-hidden', 'true'); + if (!isDomainRelaxed) { + InitContentBody.initContentBody(editor); + } + }; + var InitIframe = { init: init$1 }; + + var isContentCssSkinName = function (url) { + return /^[a-z0-9\-]+$/i.test(url); + }; + var getContentCssUrls = function (editor) { + var contentCss = Settings.getContentCss(editor); + var skinUrl = editor.editorManager.baseURL + '/skins/content'; + var suffix = editor.editorManager.suffix; + var contentCssFile = 'content' + suffix + '.css'; + var inline = editor.inline === true; + return map(contentCss, function (url) { + if (isContentCssSkinName(url) && !inline) { + return skinUrl + '/' + url + '/' + contentCssFile; + } else { + return editor.documentBaseURI.toAbsolute(url); + } + }); + }; + var appendContentCssFromSettings = function (editor) { + editor.contentCSS = editor.contentCSS.concat(getContentCssUrls(editor)); + }; + + var DOM$5 = DOMUtils$1.DOM; + var initPlugin = function (editor, initializedPlugins, plugin) { + var Plugin = PluginManager.get(plugin); + var pluginUrl = PluginManager.urls[plugin] || editor.documentBaseUrl.replace(/\/$/, ''); + plugin = Tools.trim(plugin); + if (Plugin && Tools.inArray(initializedPlugins, plugin) === -1) { + Tools.each(PluginManager.dependencies(plugin), function (dep) { + initPlugin(editor, initializedPlugins, dep); + }); + if (editor.plugins[plugin]) { + return; + } + try { + var pluginInstance = new Plugin(editor, pluginUrl, editor.$); + editor.plugins[plugin] = pluginInstance; + if (pluginInstance.init) { + pluginInstance.init(editor, pluginUrl); + initializedPlugins.push(plugin); + } + } catch (e) { + ErrorReporter.pluginInitError(editor, plugin, e); + } + } + }; + var trimLegacyPrefix = function (name) { + return name.replace(/^\-/, ''); + }; + var initPlugins = function (editor) { + var initializedPlugins = []; + Tools.each(editor.settings.plugins.split(/[ ,]/), function (name) { + initPlugin(editor, initializedPlugins, trimLegacyPrefix(name)); + }); + }; + var initIcons = function (editor) { + var iconPackName = Tools.trim(editor.settings.icons); + var currentIcons = editor.ui.registry.getAll().icons; + var defaultIcons = getAll(); + var loadIcons = __assign(__assign({}, defaultIcons), IconManager.get(iconPackName).icons); + each$1(loadIcons, function (svgData, icon) { + if (!has(currentIcons, icon)) { + editor.ui.registry.addIcon(icon, svgData); + } + }); + }; + var initTheme = function (editor) { + var theme = editor.settings.theme; + if (isString(theme)) { + editor.settings.theme = trimLegacyPrefix(theme); + var Theme = ThemeManager.get(theme); + editor.theme = new Theme(editor, ThemeManager.urls[theme]); + if (editor.theme.init) { + editor.theme.init(editor, ThemeManager.urls[theme] || editor.documentBaseUrl.replace(/\/$/, ''), editor.$); + } + } else { + editor.theme = {}; + } + }; + var renderFromLoadedTheme = function (editor) { + return editor.theme.renderUI(); + }; + var renderFromThemeFunc = function (editor) { + var elm = editor.getElement(); + var theme = editor.settings.theme; + var info = theme(editor, elm); + if (info.editorContainer.nodeType) { + info.editorContainer.id = info.editorContainer.id || editor.id + '_parent'; + } + if (info.iframeContainer && info.iframeContainer.nodeType) { + info.iframeContainer.id = info.iframeContainer.id || editor.id + '_iframecontainer'; + } + info.height = info.iframeHeight ? info.iframeHeight : elm.offsetHeight; + return info; + }; + var createThemeFalseResult = function (element) { + return { + editorContainer: element, + iframeContainer: element + }; + }; + var renderThemeFalseIframe = function (targetElement) { + var iframeContainer = DOM$5.create('div'); + DOM$5.insertAfter(iframeContainer, targetElement); + return createThemeFalseResult(iframeContainer); + }; + var renderThemeFalse = function (editor) { + var targetElement = editor.getElement(); + return editor.inline ? createThemeFalseResult(null) : renderThemeFalseIframe(targetElement); + }; + var renderThemeUi = function (editor) { + var elm = editor.getElement(); + editor.orgDisplay = elm.style.display; + if (isString(editor.settings.theme)) { + return renderFromLoadedTheme(editor); + } else if (isFunction(editor.settings.theme)) { + return renderFromThemeFunc(editor); + } else { + return renderThemeFalse(editor); + } + }; + var init$2 = function (editor) { + editor.fire('ScriptsLoaded'); + initIcons(editor); + initTheme(editor); + initPlugins(editor); + var boxInfo = renderThemeUi(editor); + editor.editorContainer = boxInfo.editorContainer ? boxInfo.editorContainer : null; + appendContentCssFromSettings(editor); + if (editor.inline) { + return InitContentBody.initContentBody(editor); + } else { + return InitIframe.init(editor, boxInfo); + } + }; + var Init = { init: init$2 }; + + var DOM$6 = DOMUtils$1.DOM; + var hasSkipLoadPrefix = function (name) { + return name.charAt(0) === '-'; + }; + var loadLanguage = function (scriptLoader, editor) { + var languageCode = Settings.getLanguageCode(editor); + var languageUrl = Settings.getLanguageUrl(editor); + if (I18n.hasCode(languageCode) === false && languageCode !== 'en') { + var url_1 = languageUrl !== '' ? languageUrl : editor.editorManager.baseURL + '/langs/' + languageCode + '.js'; + scriptLoader.add(url_1, noop, undefined, function () { + ErrorReporter.languageLoadError(url_1, languageCode); + }); + } + }; + var loadTheme = function (scriptLoader, editor, suffix, callback) { + var settings = editor.settings, theme = settings.theme; + if (isString(theme)) { + if (!hasSkipLoadPrefix(theme) && !ThemeManager.urls.hasOwnProperty(theme)) { + var themeUrl = settings.theme_url; + if (themeUrl) { + ThemeManager.load(theme, editor.documentBaseURI.toAbsolute(themeUrl)); + } else { + ThemeManager.load(theme, 'themes/' + theme + '/theme' + suffix + '.js'); + } + } + scriptLoader.loadQueue(function () { + ThemeManager.waitFor(theme, callback); + }); + } else { + callback(); + } + }; + var getIconsUrlMetaFromUrl = function (editor) { + return Option.from(Settings.getIconsUrl(editor)).filter(function (url) { + return url.length > 0; + }).map(function (url) { + return { + url: url, + name: Option.none() + }; + }); + }; + var getIconsUrlMetaFromName = function (editor) { + return Option.from(Settings.getIconPackName(editor)).filter(function (name) { + return name.length > 0 && !IconManager.has(name); + }).map(function (name) { + return { + url: editor.editorManager.baseURL + '/icons/' + name + '/icons.js', + name: Option.some(name) + }; + }); + }; + var loadIcons = function (scriptLoader, editor) { + getIconsUrlMetaFromUrl(editor).orThunk(function () { + return getIconsUrlMetaFromName(editor); + }).each(function (urlMeta) { + scriptLoader.add(urlMeta.url, noop, undefined, function () { + ErrorReporter.iconsLoadError(urlMeta.url, urlMeta.name.getOrUndefined()); + }); + }); + }; + var loadPlugins = function (settings, suffix) { + if (isArray(settings.plugins)) { + settings.plugins = settings.plugins.join(' '); + } + Tools.each(settings.external_plugins, function (url, name) { + PluginManager.load(name, url, noop, undefined, function () { + ErrorReporter.pluginLoadError(name, url); + }); + settings.plugins += ' ' + name; + }); + Tools.each(settings.plugins.split(/[ ,]/), function (plugin) { + plugin = Tools.trim(plugin); + if (plugin && !PluginManager.urls[plugin]) { + if (hasSkipLoadPrefix(plugin)) { + plugin = plugin.substr(1, plugin.length); + var dependencies = PluginManager.dependencies(plugin); + Tools.each(dependencies, function (dep) { + var defaultSettings = { + prefix: 'plugins/', + resource: dep, + suffix: '/plugin' + suffix + '.js' + }; + dep = PluginManager.createUrl(defaultSettings, dep); + PluginManager.load(dep.resource, dep, noop, undefined, function () { + ErrorReporter.pluginLoadError(dep.prefix + dep.resource + dep.suffix, dep.resource); + }); + }); + } else { + var url_2 = { + prefix: 'plugins/', + resource: plugin, + suffix: '/plugin' + suffix + '.js' + }; + PluginManager.load(plugin, url_2, noop, undefined, function () { + ErrorReporter.pluginLoadError(url_2.prefix + url_2.resource + url_2.suffix, plugin); + }); + } + } + }); + }; + var loadScripts = function (editor, suffix) { + var scriptLoader = ScriptLoader.ScriptLoader; + loadTheme(scriptLoader, editor, suffix, function () { + loadLanguage(scriptLoader, editor); + loadIcons(scriptLoader, editor); + loadPlugins(editor.settings, suffix); + scriptLoader.loadQueue(function () { + if (!editor.removed) { + Init.init(editor); + } + }, editor, function () { + if (!editor.removed) { + Init.init(editor); + } + }); + }); + }; + var render = function (editor) { + var settings = editor.settings, id = editor.id; + I18n.setCode(Settings.getLanguageCode(editor)); + var readyHandler = function () { + DOM$6.unbind(domGlobals.window, 'ready', readyHandler); + editor.render(); + }; + if (!EventUtils.Event.domLoaded) { + DOM$6.bind(domGlobals.window, 'ready', readyHandler); + return; + } + if (!editor.getElement()) { + return; + } + if (!Env.contentEditable) { + return; + } + if (!settings.inline) { + editor.orgVisibility = editor.getElement().style.visibility; + editor.getElement().style.visibility = 'hidden'; + } else { + editor.inline = true; + } + var form = editor.getElement().form || DOM$6.getParent(id, 'form'); + if (form) { + editor.formElement = form; + if (settings.hidden_input && !NodeType.isTextareaOrInput(editor.getElement())) { + DOM$6.insertAfter(DOM$6.create('input', { + type: 'hidden', + name: id + }), id); + editor.hasHiddenInput = true; + } + editor.formEventDelegate = function (e) { + editor.fire(e.type, e); + }; + DOM$6.bind(form, 'submit reset', editor.formEventDelegate); + editor.on('reset', function () { + editor.resetContent(); + }); + if (settings.submit_patch && !form.submit.nodeType && !form.submit.length && !form._mceOldSubmit) { + form._mceOldSubmit = form.submit; + form.submit = function () { + editor.editorManager.triggerSave(); + editor.setDirty(false); + return form._mceOldSubmit(form); + }; + } + } + editor.windowManager = WindowManager(editor); + editor.notificationManager = NotificationManager(editor); + if (settings.encoding === 'xml') { + editor.on('GetContent', function (e) { + if (e.save) { + e.content = DOM$6.encode(e.content); + } + }); + } + if (settings.add_form_submit_trigger) { + editor.on('submit', function () { + if (editor.initialized) { + editor.save(); + } + }); + } + if (settings.add_unload_trigger) { + editor._beforeUnload = function () { + if (editor.initialized && !editor.destroyed && !editor.isHidden()) { + editor.save({ + format: 'raw', + no_events: true, + set_dirty: false + }); + } + }; + editor.editorManager.on('BeforeUnload', editor._beforeUnload); + } + editor.editorManager.add(editor); + loadScripts(editor, editor.suffix); + }; + var Render = { render: render }; + + var internalContentEditableAttr = 'data-mce-contenteditable'; + var toggleClass = function (elm, cls, state) { + if (has$2(elm, cls) && state === false) { + remove$4(elm, cls); + } else if (state) { + add$3(elm, cls); + } + }; + var setEditorCommandState = function (editor, cmd, state) { + try { + editor.getDoc().execCommand(cmd, false, state); + } catch (ex) { + } + }; + var setContentEditable = function (elm, state) { + elm.dom().contentEditable = state ? 'true' : 'false'; + }; + var switchOffContentEditableTrue = function (elm) { + each(descendants$1(elm, '*[contenteditable="true"]'), function (elm) { + set(elm, internalContentEditableAttr, 'true'); + setContentEditable(elm, false); + }); + }; + var switchOnContentEditableTrue = function (elm) { + each(descendants$1(elm, '*[' + internalContentEditableAttr + '="true"]'), function (elm) { + remove(elm, internalContentEditableAttr); + setContentEditable(elm, true); + }); + }; + var removeFakeSelection = function (editor) { + Option.from(editor.selection.getNode()).each(function (elm) { + elm.removeAttribute('data-mce-selected'); + }); + }; + var restoreFakeSelection = function (editor) { + editor.selection.setRng(editor.selection.getRng()); + }; + var toggleReadOnly = function (editor, state) { + var body = Element.fromDom(editor.getBody()); + toggleClass(body, 'mce-content-readonly', state); + if (state) { + editor.selection.controlSelection.hideResizeRect(); + editor._selectionOverrides.hideFakeCaret(); + removeFakeSelection(editor); + editor.readonly = true; + setContentEditable(body, false); + switchOffContentEditableTrue(body); + } else { + editor.readonly = false; + setContentEditable(body, true); + switchOnContentEditableTrue(body); + setEditorCommandState(editor, 'StyleWithCSS', false); + setEditorCommandState(editor, 'enableInlineTableEditing', false); + setEditorCommandState(editor, 'enableObjectResizing', false); + if (EditorFocus.hasEditorOrUiFocus(editor)) { + editor.focus(); + } + restoreFakeSelection(editor); + editor.nodeChanged(); + } + }; + var isReadOnly = function (editor) { + return editor.readonly === true; + }; + var registerFilters = function (editor) { + editor.parser.addAttributeFilter('contenteditable', function (nodes) { + if (isReadOnly(editor)) { + each(nodes, function (node) { + node.attr(internalContentEditableAttr, node.attr('contenteditable')); + node.attr('contenteditable', 'false'); + }); + } + }); + editor.serializer.addAttributeFilter(internalContentEditableAttr, function (nodes) { + if (isReadOnly(editor)) { + each(nodes, function (node) { + node.attr('contenteditable', node.attr(internalContentEditableAttr)); + }); + } + }); + editor.serializer.addTempAttr(internalContentEditableAttr); + }; + var registerReadOnlyContentFilters = function (editor) { + if (editor.serializer) { + registerFilters(editor); + } else { + editor.on('PreInit', function () { + registerFilters(editor); + }); + } + }; + var isClickEvent = function (e) { + return e.type === 'click'; + }; + var preventReadOnlyEvents = function (e) { + var target = e.target; + if (isClickEvent(e) && target.tagName === 'A' && !VK.metaKeyPressed(e)) { + e.preventDefault(); + } + }; + var registerReadOnlySelectionBlockers = function (editor) { + editor.on('ShowCaret', function (e) { + if (isReadOnly(editor)) { + e.preventDefault(); + } + }); + editor.on('ObjectSelected', function (e) { + if (isReadOnly(editor)) { + e.preventDefault(); + } + }); + }; + + var defaultModes = [ + 'design', + 'readonly' + ]; + var switchToMode = function (editor, activeMode, availableModes, mode) { + var oldMode = availableModes[activeMode.get()]; + var newMode = availableModes[mode]; + try { + newMode.activate(); + } catch (e) { + domGlobals.console.error('problem while activating editor mode ' + mode + ':', e); + return; + } + oldMode.deactivate(); + if (oldMode.editorReadOnly !== newMode.editorReadOnly) { + toggleReadOnly(editor, newMode.editorReadOnly); + } + activeMode.set(mode); + Events.fireSwitchMode(editor, mode); + }; + var setMode = function (editor, availableModes, activeMode, mode) { + if (mode === activeMode.get()) { + return; + } else if (!has(availableModes, mode)) { + throw new Error('Editor mode \'' + mode + '\' is invalid'); + } + if (editor.initialized) { + switchToMode(editor, activeMode, availableModes, mode); + } else { + editor.on('init', function () { + return switchToMode(editor, activeMode, availableModes, mode); + }); + } + }; + var registerMode = function (availableModes, mode, api) { + var _a; + if (contains(defaultModes, mode)) { + throw new Error('Cannot override default mode ' + mode); + } + return __assign(__assign({}, availableModes), (_a = {}, _a[mode] = __assign(__assign({}, api), { + deactivate: function () { + try { + api.deactivate(); + } catch (e) { + domGlobals.console.error('problem while deactivating editor mode ' + mode + ':', e); + } + } + }), _a)); + }; + + var create$4 = function (editor) { + var activeMode = Cell('design'); + var availableModes = Cell({ + design: { + activate: noop, + deactivate: noop, + editorReadOnly: false + }, + readonly: { + activate: noop, + deactivate: noop, + editorReadOnly: true + } + }); + registerReadOnlyContentFilters(editor); + registerReadOnlySelectionBlockers(editor); + return { + isReadOnly: function () { + return isReadOnly(editor); + }, + set: function (mode) { + return setMode(editor, availableModes.get(), activeMode, mode); + }, + get: function () { + return activeMode.get(); + }, + register: function (mode, api) { + availableModes.set(registerMode(availableModes.get(), mode, api)); + } + }; + }; + + var hasOnlyOneChild$1 = function (node) { + return node.firstChild && node.firstChild === node.lastChild; + }; + var isPaddingNode = function (node) { + return node.name === 'br' || node.value === '\xA0'; + }; + var isPaddedEmptyBlock = function (schema, node) { + var blockElements = schema.getBlockElements(); + return blockElements[node.name] && hasOnlyOneChild$1(node) && isPaddingNode(node.firstChild); + }; + var isEmptyFragmentElement = function (schema, node) { + var nonEmptyElements = schema.getNonEmptyElements(); + return node && (node.isEmpty(nonEmptyElements) || isPaddedEmptyBlock(schema, node)); + }; + var isListFragment = function (schema, fragment) { + var firstChild = fragment.firstChild; + var lastChild = fragment.lastChild; + if (firstChild && firstChild.name === 'meta') { + firstChild = firstChild.next; + } + if (lastChild && lastChild.attr('id') === 'mce_marker') { + lastChild = lastChild.prev; + } + if (isEmptyFragmentElement(schema, lastChild)) { + lastChild = lastChild.prev; + } + if (!firstChild || firstChild !== lastChild) { + return false; + } + return firstChild.name === 'ul' || firstChild.name === 'ol'; + }; + var cleanupDomFragment = function (domFragment) { + var firstChild = domFragment.firstChild; + var lastChild = domFragment.lastChild; + if (firstChild && firstChild.nodeName === 'META') { + firstChild.parentNode.removeChild(firstChild); + } + if (lastChild && lastChild.id === 'mce_marker') { + lastChild.parentNode.removeChild(lastChild); + } + return domFragment; + }; + var toDomFragment = function (dom, serializer, fragment) { + var html = serializer.serialize(fragment); + var domFragment = dom.createFragment(html); + return cleanupDomFragment(domFragment); + }; + var listItems$1 = function (elm) { + return Tools.grep(elm.childNodes, function (child) { + return child.nodeName === 'LI'; + }); + }; + var isPadding = function (node) { + return node.data === '\xA0' || NodeType.isBr(node); + }; + var isListItemPadded = function (node) { + return node && node.firstChild && node.firstChild === node.lastChild && isPadding(node.firstChild); + }; + var isEmptyOrPadded = function (elm) { + return !elm.firstChild || isListItemPadded(elm); + }; + var trimListItems = function (elms) { + return elms.length > 0 && isEmptyOrPadded(elms[elms.length - 1]) ? elms.slice(0, -1) : elms; + }; + var getParentLi = function (dom, node) { + var parentBlock = dom.getParent(node, dom.isBlock); + return parentBlock && parentBlock.nodeName === 'LI' ? parentBlock : null; + }; + var isParentBlockLi = function (dom, node) { + return !!getParentLi(dom, node); + }; + var getSplit = function (parentNode, rng) { + var beforeRng = rng.cloneRange(); + var afterRng = rng.cloneRange(); + beforeRng.setStartBefore(parentNode); + afterRng.setEndAfter(parentNode); + return [ + beforeRng.cloneContents(), + afterRng.cloneContents() + ]; + }; + var findFirstIn = function (node, rootNode) { + var caretPos = CaretPosition$1.before(node); + var caretWalker = CaretWalker(rootNode); + var newCaretPos = caretWalker.next(caretPos); + return newCaretPos ? newCaretPos.toRange() : null; + }; + var findLastOf = function (node, rootNode) { + var caretPos = CaretPosition$1.after(node); + var caretWalker = CaretWalker(rootNode); + var newCaretPos = caretWalker.prev(caretPos); + return newCaretPos ? newCaretPos.toRange() : null; + }; + var insertMiddle = function (target, elms, rootNode, rng) { + var parts = getSplit(target, rng); + var parentElm = target.parentNode; + parentElm.insertBefore(parts[0], target); + Tools.each(elms, function (li) { + parentElm.insertBefore(li, target); + }); + parentElm.insertBefore(parts[1], target); + parentElm.removeChild(target); + return findLastOf(elms[elms.length - 1], rootNode); + }; + var insertBefore$1 = function (target, elms, rootNode) { + var parentElm = target.parentNode; + Tools.each(elms, function (elm) { + parentElm.insertBefore(elm, target); + }); + return findFirstIn(target, rootNode); + }; + var insertAfter$1 = function (target, elms, rootNode, dom) { + dom.insertAfter(elms.reverse(), target); + return findLastOf(elms[0], rootNode); + }; + var insertAtCaret = function (serializer, dom, rng, fragment) { + var domFragment = toDomFragment(dom, serializer, fragment); + var liTarget = getParentLi(dom, rng.startContainer); + var liElms = trimListItems(listItems$1(domFragment.firstChild)); + var BEGINNING = 1, END = 2; + var rootNode = dom.getRoot(); + var isAt = function (location) { + var caretPos = CaretPosition$1.fromRangeStart(rng); + var caretWalker = CaretWalker(dom.getRoot()); + var newPos = location === BEGINNING ? caretWalker.prev(caretPos) : caretWalker.next(caretPos); + return newPos ? getParentLi(dom, newPos.getNode()) !== liTarget : true; + }; + if (isAt(BEGINNING)) { + return insertBefore$1(liTarget, liElms, rootNode); + } else if (isAt(END)) { + return insertAfter$1(liTarget, liElms, rootNode, dom); + } + return insertMiddle(liTarget, liElms, rootNode, rng); + }; + var InsertList = { + isListFragment: isListFragment, + insertAtCaret: insertAtCaret, + isParentBlockLi: isParentBlockLi, + trimListItems: trimListItems, + listItems: listItems$1 + }; + + var isAfterNbsp = function (container, offset) { + return NodeType.isText(container) && container.nodeValue[offset - 1] === '\xA0'; + }; + var trimOrPadLeftRight = function (rng, html) { + var container, offset; + container = rng.startContainer; + offset = rng.startOffset; + var hasSiblingText = function (siblingName) { + return container[siblingName] && container[siblingName].nodeType === 3; + }; + if (container.nodeType === 3) { + if (offset > 0) { + html = html.replace(/^ /, ' '); + } else if (!hasSiblingText('previousSibling')) { + html = html.replace(/^ /, ' '); + } + if (offset < container.length) { + html = html.replace(/ (
|)$/, ' '); + } else if (!hasSiblingText('nextSibling')) { + html = html.replace(/( | )(
|)$/, ' '); + } + } + return html; + }; + var trimNbspAfterDeleteAndPadValue = function (rng, value) { + var container, offset; + container = rng.startContainer; + offset = rng.startOffset; + if (container.nodeType === 3 && rng.collapsed) { + if (container.data[offset] === '\xA0') { + container.deleteData(offset, 1); + if (!/[\u00a0| ]$/.test(value)) { + value += ' '; + } + } else if (container.data[offset - 1] === '\xA0') { + container.deleteData(offset - 1, 1); + if (!/[\u00a0| ]$/.test(value)) { + value = ' ' + value; + } + } + } + return value; + }; + + var isTableCell$5 = NodeType.matchNodeNames([ + 'td', + 'th' + ]); + var selectionSetContent = function (editor, content) { + var rng = editor.selection.getRng(); + var container = rng.startContainer; + var offset = rng.startOffset; + if (rng.collapsed && isAfterNbsp(container, offset) && NodeType.isText(container)) { + container.insertData(offset - 1, ' '); + container.deleteData(offset, 1); + rng.setStart(container, offset); + rng.setEnd(container, offset); + editor.selection.setRng(rng); + } + editor.selection.setContent(content); + }; + var validInsertion = function (editor, value, parentNode) { + if (parentNode.getAttribute('data-mce-bogus') === 'all') { + parentNode.parentNode.insertBefore(editor.dom.createFragment(value), parentNode); + } else { + var node = parentNode.firstChild; + var node2 = parentNode.lastChild; + if (!node || node === node2 && node.nodeName === 'BR') { + editor.dom.setHTML(parentNode, value); + } else { + selectionSetContent(editor, value); + } + } + }; + var trimBrsFromTableCell = function (dom, elm) { + Option.from(dom.getParent(elm, 'td,th')).map(Element.fromDom).each(PaddingBr.trimBlockTrailingBr); + }; + var reduceInlineTextElements = function (editor, merge) { + var textInlineElements = editor.schema.getTextInlineElements(); + var dom = editor.dom; + if (merge) { + var root_1 = editor.getBody(), elementUtils_1 = new ElementUtils(dom); + Tools.each(dom.select('*[data-mce-fragment]'), function (node) { + for (var testNode = node.parentNode; testNode && testNode !== root_1; testNode = testNode.parentNode) { + if (textInlineElements[node.nodeName.toLowerCase()] && elementUtils_1.compare(testNode, node)) { + dom.remove(node, true); + } + } + }); + } + }; + var markFragmentElements = function (fragment) { + var node = fragment; + while (node = node.walk()) { + if (node.type === 1) { + node.attr('data-mce-fragment', '1'); + } + } + }; + var umarkFragmentElements = function (elm) { + Tools.each(elm.getElementsByTagName('*'), function (elm) { + elm.removeAttribute('data-mce-fragment'); + }); + }; + var isPartOfFragment = function (node) { + return !!node.getAttribute('data-mce-fragment'); + }; + var canHaveChildren = function (editor, node) { + return node && !editor.schema.getShortEndedElements()[node.nodeName]; + }; + var moveSelectionToMarker = function (editor, marker) { + var parentEditableFalseElm, parentBlock, nextRng; + var dom = editor.dom, selection = editor.selection; + var node, node2; + var getContentEditableFalseParent = function (node) { + var root = editor.getBody(); + for (; node && node !== root; node = node.parentNode) { + if (editor.dom.getContentEditable(node) === 'false') { + return node; + } + } + return null; + }; + if (!marker) { + return; + } + editor.selection.scrollIntoView(marker); + parentEditableFalseElm = getContentEditableFalseParent(marker); + if (parentEditableFalseElm) { + dom.remove(marker); + selection.select(parentEditableFalseElm); + return; + } + var rng = dom.createRng(); + node = marker.previousSibling; + if (node && node.nodeType === 3) { + rng.setStart(node, node.nodeValue.length); + if (!Env.ie) { + node2 = marker.nextSibling; + if (node2 && node2.nodeType === 3) { + node.appendData(node2.data); + node2.parentNode.removeChild(node2); + } + } + } else { + rng.setStartBefore(marker); + rng.setEndBefore(marker); + } + var findNextCaretRng = function (rng) { + var caretPos = CaretPosition$1.fromRangeStart(rng); + var caretWalker = CaretWalker(editor.getBody()); + caretPos = caretWalker.next(caretPos); + if (caretPos) { + return caretPos.toRange(); + } + }; + parentBlock = dom.getParent(marker, dom.isBlock); + dom.remove(marker); + if (parentBlock && dom.isEmpty(parentBlock)) { + editor.$(parentBlock).empty(); + rng.setStart(parentBlock, 0); + rng.setEnd(parentBlock, 0); + if (!isTableCell$5(parentBlock) && !isPartOfFragment(parentBlock) && (nextRng = findNextCaretRng(rng))) { + rng = nextRng; + dom.remove(parentBlock); + } else { + dom.add(parentBlock, dom.create('br', { 'data-mce-bogus': '1' })); + } + } + selection.setRng(rng); + }; + var insertHtmlAtCaret = function (editor, value, details) { + var parser, serializer, parentNode, rootNode, fragment, args; + var marker, rng, node, bookmarkHtml, merge; + var selection = editor.selection, dom = editor.dom; + if (/^ | $/.test(value)) { + value = trimOrPadLeftRight(selection.getRng(), value); + } + parser = editor.parser; + merge = details.merge; + serializer = Serializer({ validate: editor.settings.validate }, editor.schema); + bookmarkHtml = '​'; + args = { + content: value, + format: 'html', + selection: true, + paste: details.paste + }; + args = editor.fire('BeforeSetContent', args); + if (args.isDefaultPrevented()) { + editor.fire('SetContent', { + content: args.content, + format: 'html', + selection: true, + paste: details.paste + }); + return; + } + value = args.content; + if (value.indexOf('{$caret}') === -1) { + value += '{$caret}'; + } + value = value.replace(/\{\$caret\}/, bookmarkHtml); + rng = selection.getRng(); + var caretElement = rng.startContainer || (rng.parentElement ? rng.parentElement() : null); + var body = editor.getBody(); + if (caretElement === body && selection.isCollapsed()) { + if (dom.isBlock(body.firstChild) && canHaveChildren(editor, body.firstChild) && dom.isEmpty(body.firstChild)) { + rng = dom.createRng(); + rng.setStart(body.firstChild, 0); + rng.setEnd(body.firstChild, 0); + selection.setRng(rng); + } + } + if (!selection.isCollapsed()) { + editor.selection.setRng(RangeNormalizer.normalize(editor.selection.getRng())); + editor.getDoc().execCommand('Delete', false, null); + value = trimNbspAfterDeleteAndPadValue(editor.selection.getRng(), value); + } + parentNode = selection.getNode(); + var parserArgs = { + context: parentNode.nodeName.toLowerCase(), + data: details.data, + insert: true + }; + fragment = parser.parse(value, parserArgs); + if (details.paste === true && InsertList.isListFragment(editor.schema, fragment) && InsertList.isParentBlockLi(dom, parentNode)) { + rng = InsertList.insertAtCaret(serializer, dom, editor.selection.getRng(), fragment); + editor.selection.setRng(rng); + editor.fire('SetContent', args); + return; + } + markFragmentElements(fragment); + node = fragment.lastChild; + if (node.attr('id') === 'mce_marker') { + marker = node; + for (node = node.prev; node; node = node.walk(true)) { + if (node.type === 3 || !dom.isBlock(node.name)) { + if (editor.schema.isValidChild(node.parent.name, 'span')) { + node.parent.insert(marker, node, node.name === 'br'); + } + break; + } + } + } + editor._selectionOverrides.showBlockCaretContainer(parentNode); + if (!parserArgs.invalid) { + value = serializer.serialize(fragment); + validInsertion(editor, value, parentNode); + } else { + selectionSetContent(editor, bookmarkHtml); + parentNode = selection.getNode(); + rootNode = editor.getBody(); + if (parentNode.nodeType === 9) { + parentNode = node = rootNode; + } else { + node = parentNode; + } + while (node !== rootNode) { + parentNode = node; + node = node.parentNode; + } + value = parentNode === rootNode ? rootNode.innerHTML : dom.getOuterHTML(parentNode); + value = serializer.serialize(parser.parse(value.replace(//i, function () { + return serializer.serialize(fragment); + }))); + if (parentNode === rootNode) { + dom.setHTML(rootNode, value); + } else { + dom.setOuterHTML(parentNode, value); + } + } + reduceInlineTextElements(editor, merge); + moveSelectionToMarker(editor, dom.get('mce_marker')); + umarkFragmentElements(editor.getBody()); + trimBrsFromTableCell(editor.dom, editor.selection.getStart()); + editor.fire('SetContent', args); + editor.addVisual(); + }; + var processValue = function (value) { + var details; + if (typeof value !== 'string') { + details = Tools.extend({ + paste: value.paste, + data: { paste: value.paste } + }, value); + return { + content: value.content, + details: details + }; + } + return { + content: value, + details: {} + }; + }; + var insertAtCaret$1 = function (editor, value) { + var result = processValue(value); + insertHtmlAtCaret(editor, result.content, result.details); + }; + var InsertContent = { insertAtCaret: insertAtCaret$1 }; + + var nativeCommand = function (editor, command) { + editor.getDoc().execCommand(command, false, null); + }; + var deleteCommand = function (editor) { + if (Outdent.backspaceDelete(editor, false)) { + return; + } else if (CefDelete.backspaceDelete(editor, false)) { + return; + } else if (CefBoundaryDelete.backspaceDelete(editor, false)) { + return; + } else if (BoundaryDelete.backspaceDelete(editor, false)) { + return; + } else if (BlockBoundaryDelete.backspaceDelete(editor, false)) { + return; + } else if (TableDelete.backspaceDelete(editor)) { + return; + } else if (BlockRangeDelete.backspaceDelete(editor, false)) { + return; + } else if (InlineFormatDelete.backspaceDelete(editor, false)) { + return; + } else { + nativeCommand(editor, 'Delete'); + DeleteUtils.paddEmptyBody(editor); + } + }; + var forwardDeleteCommand = function (editor) { + if (CefDelete.backspaceDelete(editor, true)) { + return; + } else if (CefBoundaryDelete.backspaceDelete(editor, true)) { + return; + } else if (BoundaryDelete.backspaceDelete(editor, true)) { + return; + } else if (BlockBoundaryDelete.backspaceDelete(editor, true)) { + return; + } else if (TableDelete.backspaceDelete(editor)) { + return; + } else if (BlockRangeDelete.backspaceDelete(editor, true)) { + return; + } else if (InlineFormatDelete.backspaceDelete(editor, true)) { + return; + } else { + nativeCommand(editor, 'ForwardDelete'); + } + }; + var DeleteCommands = { + deleteCommand: deleteCommand, + forwardDeleteCommand: forwardDeleteCommand + }; + + var getSpecifiedFontProp = function (propName, rootElm, elm) { + var getProperty = function (elm) { + return getRaw(elm, propName); + }; + var isRoot = function (elm) { + return eq(Element.fromDom(rootElm), elm); + }; + return closest(Element.fromDom(elm), function (elm) { + return getProperty(elm).isSome(); + }, isRoot).bind(getProperty); + }; + var round$1 = function (number, precision) { + var factor = Math.pow(10, precision); + return Math.round(number * factor) / factor; + }; + var toPt = function (fontSize, precision) { + if (/[0-9.]+px$/.test(fontSize)) { + return round$1(parseInt(fontSize, 10) * 72 / 96, precision || 0) + 'pt'; + } + return fontSize; + }; + var normalizeFontFamily = function (fontFamily) { + return fontFamily.replace(/[\'\"\\]/g, '').replace(/,\s+/g, ','); + }; + var getComputedFontProp = function (propName, elm) { + return Option.from(DOMUtils$1.DOM.getStyle(elm, propName, true)); + }; + var getFontProp = function (propName) { + return function (rootElm, elm) { + return Option.from(elm).map(Element.fromDom).filter(isElement$1).bind(function (element) { + return getSpecifiedFontProp(propName, rootElm, element.dom()).or(getComputedFontProp(propName, element.dom())); + }).getOr(''); + }; + }; + var FontInfo = { + getFontSize: getFontProp('font-size'), + getFontFamily: compose(normalizeFontFamily, getFontProp('font-family')), + toPt: toPt + }; + + var findFirstCaretElement = function (editor) { + return CaretFinder.firstPositionIn(editor.getBody()).map(function (caret) { + var container = caret.container(); + return NodeType.isText(container) ? container.parentNode : container; + }); + }; + var isRangeAtStartOfNode = function (rng, root) { + return rng.startContainer === root && rng.startOffset === 0; + }; + var getCaretElement = function (editor) { + return Option.from(editor.selection.getRng()).bind(function (rng) { + var root = editor.getBody(); + return isRangeAtStartOfNode(rng, root) ? Option.none() : Option.from(editor.selection.getStart(true)); + }); + }; + var fromFontSizeNumber = function (editor, value) { + if (/^[0-9\.]+$/.test(value)) { + var fontSizeNumber = parseInt(value, 10); + if (fontSizeNumber >= 1 && fontSizeNumber <= 7) { + var fontSizes = Settings.getFontStyleValues(editor); + var fontClasses = Settings.getFontSizeClasses(editor); + if (fontClasses) { + return fontClasses[fontSizeNumber - 1] || value; + } else { + return fontSizes[fontSizeNumber - 1] || value; + } + } else { + return value; + } + } else { + return value; + } + }; + var normalizeFontNames = function (font) { + var fonts = font.split(/\s*,\s*/); + return map(fonts, function (font) { + if (font.indexOf(' ') !== -1 && !(startsWith(font, '"') || startsWith(font, '\''))) { + return '\'' + font + '\''; + } else { + return font; + } + }).join(','); + }; + var fontNameAction = function (editor, value) { + var font = fromFontSizeNumber(editor, value); + editor.formatter.toggle('fontname', { value: normalizeFontNames(font) }); + editor.nodeChanged(); + }; + var fontNameQuery = function (editor) { + return getCaretElement(editor).fold(function () { + return findFirstCaretElement(editor).map(function (caretElement) { + return FontInfo.getFontFamily(editor.getBody(), caretElement); + }).getOr(''); + }, function (caretElement) { + return FontInfo.getFontFamily(editor.getBody(), caretElement); + }); + }; + var fontSizeAction = function (editor, value) { + editor.formatter.toggle('fontsize', { value: fromFontSizeNumber(editor, value) }); + editor.nodeChanged(); + }; + var fontSizeQuery = function (editor) { + return getCaretElement(editor).fold(function () { + return findFirstCaretElement(editor).map(function (caretElement) { + return FontInfo.getFontSize(editor.getBody(), caretElement); + }).getOr(''); + }, function (caretElement) { + return FontInfo.getFontSize(editor.getBody(), caretElement); + }); + }; + + var each$g = Tools.each; + var map$3 = Tools.map, inArray$2 = Tools.inArray; + var EditorCommands = function () { + function EditorCommands(editor) { + this.commands = { + state: {}, + exec: {}, + value: {} + }; + this.editor = editor; + this.setupCommands(editor); + } + EditorCommands.prototype.execCommand = function (command, ui, value, args) { + var func, customCommand, state = false; + var self = this; + if (self.editor.removed) { + return; + } + if (!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(command) && (!args || !args.skip_focus)) { + self.editor.focus(); + } else { + SelectionBookmark.restore(self.editor); + } + args = self.editor.fire('BeforeExecCommand', { + command: command, + ui: ui, + value: value + }); + if (args.isDefaultPrevented()) { + return false; + } + customCommand = command.toLowerCase(); + if (func = self.commands.exec[customCommand]) { + func(customCommand, ui, value); + self.editor.fire('ExecCommand', { + command: command, + ui: ui, + value: value + }); + return true; + } + each$g(this.editor.plugins, function (p) { + if (p.execCommand && p.execCommand(command, ui, value)) { + self.editor.fire('ExecCommand', { + command: command, + ui: ui, + value: value + }); + state = true; + return false; + } + }); + if (state) { + return state; + } + if (self.editor.theme && self.editor.theme.execCommand && self.editor.theme.execCommand(command, ui, value)) { + self.editor.fire('ExecCommand', { + command: command, + ui: ui, + value: value + }); + return true; + } + try { + state = self.editor.getDoc().execCommand(command, ui, value); + } catch (ex) { + } + if (state) { + self.editor.fire('ExecCommand', { + command: command, + ui: ui, + value: value + }); + return true; + } + return false; + }; + EditorCommands.prototype.queryCommandState = function (command) { + var func; + if (this.editor.quirks.isHidden() || this.editor.removed) { + return; + } + command = command.toLowerCase(); + if (func = this.commands.state[command]) { + return func(command); + } + try { + return this.editor.getDoc().queryCommandState(command); + } catch (ex) { + } + return false; + }; + EditorCommands.prototype.queryCommandValue = function (command) { + var func; + if (this.editor.quirks.isHidden() || this.editor.removed) { + return; + } + command = command.toLowerCase(); + if (func = this.commands.value[command]) { + return func(command); + } + try { + return this.editor.getDoc().queryCommandValue(command); + } catch (ex) { + } + }; + EditorCommands.prototype.addCommands = function (commandList, type) { + var self = this; + type = type || 'exec'; + each$g(commandList, function (callback, command) { + each$g(command.toLowerCase().split(','), function (command) { + self.commands[type][command] = callback; + }); + }); + }; + EditorCommands.prototype.addCommand = function (command, callback, scope) { + var _this = this; + command = command.toLowerCase(); + this.commands.exec[command] = function (command, ui, value, args) { + return callback.call(scope || _this.editor, ui, value, args); + }; + }; + EditorCommands.prototype.queryCommandSupported = function (command) { + command = command.toLowerCase(); + if (this.commands.exec[command]) { + return true; + } + try { + return this.editor.getDoc().queryCommandSupported(command); + } catch (ex) { + } + return false; + }; + EditorCommands.prototype.addQueryStateHandler = function (command, callback, scope) { + var _this = this; + command = command.toLowerCase(); + this.commands.state[command] = function () { + return callback.call(scope || _this.editor); + }; + }; + EditorCommands.prototype.addQueryValueHandler = function (command, callback, scope) { + var _this = this; + command = command.toLowerCase(); + this.commands.value[command] = function () { + return callback.call(scope || _this.editor); + }; + }; + EditorCommands.prototype.hasCustomCommand = function (command) { + command = command.toLowerCase(); + return !!this.commands.exec[command]; + }; + EditorCommands.prototype.execNativeCommand = function (command, ui, value) { + if (ui === undefined) { + ui = false; + } + if (value === undefined) { + value = null; + } + return this.editor.getDoc().execCommand(command, ui, value); + }; + EditorCommands.prototype.isFormatMatch = function (name) { + return this.editor.formatter.match(name); + }; + EditorCommands.prototype.toggleFormat = function (name, value) { + this.editor.formatter.toggle(name, value ? { value: value } : undefined); + this.editor.nodeChanged(); + }; + EditorCommands.prototype.storeSelection = function (type) { + this.selectionBookmark = this.editor.selection.getBookmark(type); + }; + EditorCommands.prototype.restoreSelection = function () { + this.editor.selection.moveToBookmark(this.selectionBookmark); + }; + EditorCommands.prototype.setupCommands = function (editor) { + var self = this; + this.addCommands({ + 'mceResetDesignMode,mceBeginUndoLevel': function () { + }, + 'mceEndUndoLevel,mceAddUndoLevel': function () { + editor.undoManager.add(); + }, + 'Cut,Copy,Paste': function (command) { + var doc = editor.getDoc(); + var failed; + try { + self.execNativeCommand(command); + } catch (ex) { + failed = true; + } + if (command === 'paste' && !doc.queryCommandEnabled(command)) { + failed = true; + } + if (failed || !doc.queryCommandSupported(command)) { + var msg = editor.translate('Your browser doesn\'t support direct access to the clipboard. ' + 'Please use the Ctrl+X/C/V keyboard shortcuts instead.'); + if (Env.mac) { + msg = msg.replace(/Ctrl\+/g, '\u2318+'); + } + editor.notificationManager.open({ + text: msg, + type: 'error' + }); + } + }, + 'unlink': function () { + if (editor.selection.isCollapsed()) { + var elm = editor.dom.getParent(editor.selection.getStart(), 'a'); + if (elm) { + editor.dom.remove(elm, true); + } + return; + } + editor.formatter.remove('link'); + }, + 'JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone': function (command) { + var align = command.substring(7); + if (align === 'full') { + align = 'justify'; + } + each$g('left,center,right,justify'.split(','), function (name) { + if (align !== name) { + editor.formatter.remove('align' + name); + } + }); + if (align !== 'none') { + self.toggleFormat('align' + align); + } + }, + 'InsertUnorderedList,InsertOrderedList': function (command) { + var listElm, listParent; + self.execNativeCommand(command); + listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul'); + if (listElm) { + listParent = listElm.parentNode; + if (/^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) { + self.storeSelection(); + editor.dom.split(listParent, listElm); + self.restoreSelection(); + } + } + }, + 'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': function (command) { + self.toggleFormat(command); + }, + 'ForeColor,HiliteColor': function (command, ui, value) { + self.toggleFormat(command, value); + }, + 'FontName': function (command, ui, value) { + fontNameAction(editor, value); + }, + 'FontSize': function (command, ui, value) { + fontSizeAction(editor, value); + }, + 'RemoveFormat': function (command) { + editor.formatter.remove(command); + }, + 'mceBlockQuote': function () { + self.toggleFormat('blockquote'); + }, + 'FormatBlock': function (command, ui, value) { + return self.toggleFormat(value || 'p'); + }, + 'mceCleanup': function () { + var bookmark = editor.selection.getBookmark(); + editor.setContent(editor.getContent()); + editor.selection.moveToBookmark(bookmark); + }, + 'mceRemoveNode': function (command, ui, value) { + var node = value || editor.selection.getNode(); + if (node !== editor.getBody()) { + self.storeSelection(); + editor.dom.remove(node, true); + self.restoreSelection(); + } + }, + 'mceSelectNodeDepth': function (command, ui, value) { + var counter = 0; + editor.dom.getParent(editor.selection.getNode(), function (node) { + if (node.nodeType === 1 && counter++ === value) { + editor.selection.select(node); + return false; + } + }, editor.getBody()); + }, + 'mceSelectNode': function (command, ui, value) { + editor.selection.select(value); + }, + 'mceInsertContent': function (command, ui, value) { + InsertContent.insertAtCaret(editor, value); + }, + 'mceInsertRawHTML': function (command, ui, value) { + editor.selection.setContent('tiny_mce_marker'); + var content = editor.getContent(); + editor.setContent(content.replace(/tiny_mce_marker/g, function () { + return value; + })); + }, + 'mceInsertNewLine': function (command, ui, value) { + InsertNewLine.insert(editor, value); + }, + 'mceToggleFormat': function (command, ui, value) { + self.toggleFormat(value); + }, + 'mceSetContent': function (command, ui, value) { + editor.setContent(value); + }, + 'Indent,Outdent': function (command) { + handle(editor, command); + }, + 'mceRepaint': function () { + }, + 'InsertHorizontalRule': function () { + editor.execCommand('mceInsertContent', false, '
'); + }, + 'mceToggleVisualAid': function () { + editor.hasVisual = !editor.hasVisual; + editor.addVisual(); + }, + 'mceReplaceContent': function (command, ui, value) { + editor.execCommand('mceInsertContent', false, value.replace(/\{\$selection\}/g, editor.selection.getContent({ format: 'text' }))); + }, + 'mceInsertLink': function (command, ui, value) { + var anchor; + if (typeof value === 'string') { + value = { href: value }; + } + anchor = editor.dom.getParent(editor.selection.getNode(), 'a'); + value.href = value.href.replace(/ /g, '%20'); + if (!anchor || !value.href) { + editor.formatter.remove('link'); + } + if (value.href) { + editor.formatter.apply('link', value, anchor); + } + }, + 'selectAll': function () { + var editingHost = editor.dom.getParent(editor.selection.getStart(), NodeType.isContentEditableTrue); + if (editingHost) { + var rng = editor.dom.createRng(); + rng.selectNodeContents(editingHost); + editor.selection.setRng(rng); + } + }, + 'delete': function () { + DeleteCommands.deleteCommand(editor); + }, + 'forwardDelete': function () { + DeleteCommands.forwardDeleteCommand(editor); + }, + 'mceNewDocument': function () { + editor.setContent(''); + }, + 'InsertLineBreak': function (command, ui, value) { + InsertBr.insert(editor, value); + return true; + } + }); + var alignStates = function (name) { + return function () { + var nodes = editor.selection.isCollapsed() ? [editor.dom.getParent(editor.selection.getNode(), editor.dom.isBlock)] : editor.selection.getSelectedBlocks(); + var matches = map$3(nodes, function (node) { + return !!editor.formatter.matchNode(node, name); + }); + return inArray$2(matches, true) !== -1; + }; + }; + self.addCommands({ + 'JustifyLeft': alignStates('alignleft'), + 'JustifyCenter': alignStates('aligncenter'), + 'JustifyRight': alignStates('alignright'), + 'JustifyFull': alignStates('alignjustify'), + 'Bold,Italic,Underline,Strikethrough,Superscript,Subscript': function (command) { + return self.isFormatMatch(command); + }, + 'mceBlockQuote': function () { + return self.isFormatMatch('blockquote'); + }, + 'Outdent': function () { + return canOutdent(editor); + }, + 'InsertUnorderedList,InsertOrderedList': function (command) { + var list = editor.dom.getParent(editor.selection.getNode(), 'ul,ol'); + return list && (command === 'insertunorderedlist' && list.tagName === 'UL' || command === 'insertorderedlist' && list.tagName === 'OL'); + } + }, 'state'); + self.addCommands({ + Undo: function () { + editor.undoManager.undo(); + }, + Redo: function () { + editor.undoManager.redo(); + } + }); + self.addQueryValueHandler('FontName', function () { + return fontNameQuery(editor); + }, this); + self.addQueryValueHandler('FontSize', function () { + return fontSizeQuery(editor); + }, this); + }; + return EditorCommands; + }(); + + var nativeEvents = Tools.makeMap('focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange ' + 'mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover ' + 'draggesture dragdrop drop drag submit ' + 'compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel', ' '); + var EventDispatcher = function () { + function EventDispatcher(settings) { + this.bindings = {}; + this.settings = settings || {}; + this.scope = this.settings.scope || this; + this.toggleEvent = this.settings.toggleEvent || never; + } + EventDispatcher.isNative = function (name) { + return !!nativeEvents[name.toLowerCase()]; + }; + EventDispatcher.prototype.fire = function (name, args) { + var handlers, i, l, callback; + name = name.toLowerCase(); + args = args || {}; + args.type = name; + if (!args.target) { + args.target = this.scope; + } + if (!args.preventDefault) { + args.preventDefault = function () { + args.isDefaultPrevented = always; + }; + args.stopPropagation = function () { + args.isPropagationStopped = always; + }; + args.stopImmediatePropagation = function () { + args.isImmediatePropagationStopped = always; + }; + args.isDefaultPrevented = never; + args.isPropagationStopped = never; + args.isImmediatePropagationStopped = never; + } + if (this.settings.beforeFire) { + this.settings.beforeFire(args); + } + handlers = this.bindings[name]; + if (handlers) { + for (i = 0, l = handlers.length; i < l; i++) { + callback = handlers[i]; + if (callback.once) { + this.off(name, callback.func); + } + if (args.isImmediatePropagationStopped()) { + args.stopPropagation(); + return args; + } + if (callback.func.call(this.scope, args) === false) { + args.preventDefault(); + return args; + } + } + } + return args; + }; + EventDispatcher.prototype.on = function (name, callback, prepend, extra) { + var handlers, names, i; + if (callback === false) { + callback = never; + } + if (callback) { + var wrappedCallback = { func: callback }; + if (extra) { + Tools.extend(wrappedCallback, extra); + } + names = name.toLowerCase().split(' '); + i = names.length; + while (i--) { + name = names[i]; + handlers = this.bindings[name]; + if (!handlers) { + handlers = this.bindings[name] = []; + this.toggleEvent(name, true); + } + if (prepend) { + handlers.unshift(wrappedCallback); + } else { + handlers.push(wrappedCallback); + } + } + } + return this; + }; + EventDispatcher.prototype.off = function (name, callback) { + var i, handlers, bindingName, names, hi; + if (name) { + names = name.toLowerCase().split(' '); + i = names.length; + while (i--) { + name = names[i]; + handlers = this.bindings[name]; + if (!name) { + for (bindingName in this.bindings) { + this.toggleEvent(bindingName, false); + delete this.bindings[bindingName]; + } + return this; + } + if (handlers) { + if (!callback) { + handlers.length = 0; + } else { + hi = handlers.length; + while (hi--) { + if (handlers[hi].func === callback) { + handlers = handlers.slice(0, hi).concat(handlers.slice(hi + 1)); + this.bindings[name] = handlers; + } + } + } + if (!handlers.length) { + this.toggleEvent(name, false); + delete this.bindings[name]; + } + } + } + } else { + for (name in this.bindings) { + this.toggleEvent(name, false); + } + this.bindings = {}; + } + return this; + }; + EventDispatcher.prototype.once = function (name, callback, prepend) { + return this.on(name, callback, prepend, { once: true }); + }; + EventDispatcher.prototype.has = function (name) { + name = name.toLowerCase(); + return !(!this.bindings[name] || this.bindings[name].length === 0); + }; + return EventDispatcher; + }(); + + var getEventDispatcher = function (obj) { + if (!obj._eventDispatcher) { + obj._eventDispatcher = new EventDispatcher({ + scope: obj, + toggleEvent: function (name, state) { + if (EventDispatcher.isNative(name) && obj.toggleNativeEvent) { + obj.toggleNativeEvent(name, state); + } + } + }); + } + return obj._eventDispatcher; + }; + var Observable = { + fire: function (name, args, bubble) { + var self = this; + if (self.removed && name !== 'remove' && name !== 'detach') { + return args; + } + var dispatcherArgs = getEventDispatcher(self).fire(name, args); + if (bubble !== false && self.parent) { + var parent = self.parent(); + while (parent && !dispatcherArgs.isPropagationStopped()) { + parent.fire(name, dispatcherArgs, false); + parent = parent.parent(); + } + } + return dispatcherArgs; + }, + on: function (name, callback, prepend) { + return getEventDispatcher(this).on(name, callback, prepend); + }, + off: function (name, callback) { + return getEventDispatcher(this).off(name, callback); + }, + once: function (name, callback) { + return getEventDispatcher(this).once(name, callback); + }, + hasEventListeners: function (name) { + return getEventDispatcher(this).has(name); + } + }; + + var DOM$7 = DOMUtils$1.DOM; + var customEventRootDelegates; + var getEventTarget = function (editor, eventName) { + if (eventName === 'selectionchange') { + return editor.getDoc(); + } + if (!editor.inline && /^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(eventName)) { + return editor.getDoc().documentElement; + } + if (editor.settings.event_root) { + if (!editor.eventRoot) { + editor.eventRoot = DOM$7.select(editor.settings.event_root)[0]; + } + return editor.eventRoot; + } + return editor.getBody(); + }; + var isListening = function (editor) { + return !editor.hidden && !isReadOnly(editor); + }; + var fireEvent = function (editor, eventName, e) { + if (isListening(editor)) { + editor.fire(eventName, e); + } else if (isReadOnly(editor)) { + preventReadOnlyEvents(e); + } + }; + var bindEventDelegate = function (editor, eventName) { + var eventRootElm, delegate; + if (!editor.delegates) { + editor.delegates = {}; + } + if (editor.delegates[eventName] || editor.removed) { + return; + } + eventRootElm = getEventTarget(editor, eventName); + if (editor.settings.event_root) { + if (!customEventRootDelegates) { + customEventRootDelegates = {}; + editor.editorManager.on('removeEditor', function () { + var name; + if (!editor.editorManager.activeEditor) { + if (customEventRootDelegates) { + for (name in customEventRootDelegates) { + editor.dom.unbind(getEventTarget(editor, name)); + } + customEventRootDelegates = null; + } + } + }); + } + if (customEventRootDelegates[eventName]) { + return; + } + delegate = function (e) { + var target = e.target; + var editors = editor.editorManager.get(); + var i = editors.length; + while (i--) { + var body = editors[i].getBody(); + if (body === target || DOM$7.isChildOf(target, body)) { + fireEvent(editors[i], eventName, e); + } + } + }; + customEventRootDelegates[eventName] = delegate; + DOM$7.bind(eventRootElm, eventName, delegate); + } else { + delegate = function (e) { + fireEvent(editor, eventName, e); + }; + DOM$7.bind(eventRootElm, eventName, delegate); + editor.delegates[eventName] = delegate; + } + }; + var EditorObservable = __assign(__assign({}, Observable), { + bindPendingEventDelegates: function () { + var self = this; + Tools.each(self._pendingNativeEvents, function (name) { + bindEventDelegate(self, name); + }); + }, + toggleNativeEvent: function (name, state) { + var self = this; + if (name === 'focus' || name === 'blur') { + return; + } + if (state) { + if (self.initialized) { + bindEventDelegate(self, name); + } else { + if (!self._pendingNativeEvents) { + self._pendingNativeEvents = [name]; + } else { + self._pendingNativeEvents.push(name); + } + } + } else if (self.initialized) { + self.dom.unbind(getEventTarget(self, name), name, self.delegates[name]); + delete self.delegates[name]; + } + }, + unbindAllNativeEvents: function () { + var self = this; + var body = self.getBody(); + var dom = self.dom; + var name; + if (self.delegates) { + for (name in self.delegates) { + self.dom.unbind(getEventTarget(self, name), name, self.delegates[name]); + } + delete self.delegates; + } + if (!self.inline && body && dom) { + body.onload = null; + dom.unbind(self.getWin()); + dom.unbind(self.getDoc()); + } + if (dom) { + dom.unbind(body); + dom.unbind(self.getContainer()); + } + } + }); + + var each$h = Tools.each, explode$3 = Tools.explode; + var keyCodeLookup = { + f1: 112, + f2: 113, + f3: 114, + f4: 115, + f5: 116, + f6: 117, + f7: 118, + f8: 119, + f9: 120, + f10: 121, + f11: 122, + f12: 123 + }; + var modifierNames = Tools.makeMap('alt,ctrl,shift,meta,access'); + var Shortcuts = function () { + function Shortcuts(editor) { + this.shortcuts = {}; + this.pendingPatterns = []; + this.editor = editor; + var self = this; + editor.on('keyup keypress keydown', function (e) { + if ((self.hasModifier(e) || self.isFunctionKey(e)) && !e.isDefaultPrevented()) { + each$h(self.shortcuts, function (shortcut) { + if (self.matchShortcut(e, shortcut)) { + self.pendingPatterns = shortcut.subpatterns.slice(0); + if (e.type === 'keydown') { + self.executeShortcutAction(shortcut); + } + return true; + } + }); + if (self.matchShortcut(e, self.pendingPatterns[0])) { + if (self.pendingPatterns.length === 1) { + if (e.type === 'keydown') { + self.executeShortcutAction(self.pendingPatterns[0]); + } + } + self.pendingPatterns.shift(); + } + } + }); + } + Shortcuts.prototype.add = function (pattern, desc, cmdFunc, scope) { + var self = this; + var cmd; + cmd = cmdFunc; + if (typeof cmdFunc === 'string') { + cmdFunc = function () { + self.editor.execCommand(cmd, false, null); + }; + } else if (Tools.isArray(cmd)) { + cmdFunc = function () { + self.editor.execCommand(cmd[0], cmd[1], cmd[2]); + }; + } + each$h(explode$3(Tools.trim(pattern)), function (pattern) { + var shortcut = self.createShortcut(pattern, desc, cmdFunc, scope); + self.shortcuts[shortcut.id] = shortcut; + }); + return true; + }; + Shortcuts.prototype.remove = function (pattern) { + var shortcut = this.createShortcut(pattern); + if (this.shortcuts[shortcut.id]) { + delete this.shortcuts[shortcut.id]; + return true; + } + return false; + }; + Shortcuts.prototype.parseShortcut = function (pattern) { + var id, key; + var shortcut = {}; + each$h(explode$3(pattern.toLowerCase(), '+'), function (value) { + if (value in modifierNames) { + shortcut[value] = true; + } else { + if (/^[0-9]{2,}$/.test(value)) { + shortcut.keyCode = parseInt(value, 10); + } else { + shortcut.charCode = value.charCodeAt(0); + shortcut.keyCode = keyCodeLookup[value] || value.toUpperCase().charCodeAt(0); + } + } + }); + id = [shortcut.keyCode]; + for (key in modifierNames) { + if (shortcut[key]) { + id.push(key); + } else { + shortcut[key] = false; + } + } + shortcut.id = id.join(','); + if (shortcut.access) { + shortcut.alt = true; + if (Env.mac) { + shortcut.ctrl = true; + } else { + shortcut.shift = true; + } + } + if (shortcut.meta) { + if (Env.mac) { + shortcut.meta = true; + } else { + shortcut.ctrl = true; + shortcut.meta = false; + } + } + return shortcut; + }; + Shortcuts.prototype.createShortcut = function (pattern, desc, cmdFunc, scope) { + var shortcuts; + shortcuts = Tools.map(explode$3(pattern, '>'), this.parseShortcut); + shortcuts[shortcuts.length - 1] = Tools.extend(shortcuts[shortcuts.length - 1], { + func: cmdFunc, + scope: scope || this.editor + }); + return Tools.extend(shortcuts[0], { + desc: this.editor.translate(desc), + subpatterns: shortcuts.slice(1) + }); + }; + Shortcuts.prototype.hasModifier = function (e) { + return e.altKey || e.ctrlKey || e.metaKey; + }; + Shortcuts.prototype.isFunctionKey = function (e) { + return e.type === 'keydown' && e.keyCode >= 112 && e.keyCode <= 123; + }; + Shortcuts.prototype.matchShortcut = function (e, shortcut) { + if (!shortcut) { + return false; + } + if (shortcut.ctrl !== e.ctrlKey || shortcut.meta !== e.metaKey) { + return false; + } + if (shortcut.alt !== e.altKey || shortcut.shift !== e.shiftKey) { + return false; + } + if (e.keyCode === shortcut.keyCode || e.charCode && e.charCode === shortcut.charCode) { + e.preventDefault(); + return true; + } + return false; + }; + Shortcuts.prototype.executeShortcutAction = function (shortcut) { + return shortcut.func ? shortcut.func.call(shortcut.scope) : null; + }; + return Shortcuts; + }(); + + var each$i = Tools.each, trim$4 = Tools.trim; + var queryParts = 'source protocol authority userInfo user password host port relative path directory file query anchor'.split(' '); + var DEFAULT_PORTS = { + ftp: 21, + http: 80, + https: 443, + mailto: 25 + }; + var URI = function () { + function URI(url, settings) { + url = trim$4(url); + this.settings = settings || {}; + var baseUri = this.settings.base_uri; + var self = this; + if (/^([\w\-]+):([^\/]{2})/i.test(url) || /^\s*#/.test(url)) { + self.source = url; + return; + } + var isProtocolRelative = url.indexOf('//') === 0; + if (url.indexOf('/') === 0 && !isProtocolRelative) { + url = (baseUri ? baseUri.protocol || 'http' : 'http') + '://mce_host' + url; + } + if (!/^[\w\-]*:?\/\//.test(url)) { + var baseUrl = this.settings.base_uri ? this.settings.base_uri.path : new URI(domGlobals.document.location.href).directory; + if (this.settings.base_uri && this.settings.base_uri.protocol == '') { + url = '//mce_host' + self.toAbsPath(baseUrl, url); + } else { + var match = /([^#?]*)([#?]?.*)/.exec(url); + url = (baseUri && baseUri.protocol || 'http') + '://mce_host' + self.toAbsPath(baseUrl, match[1]) + match[2]; + } + } + url = url.replace(/@@/g, '(mce_at)'); + var urlMatch = /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(url); + each$i(queryParts, function (v, i) { + var part = urlMatch[i]; + if (part) { + part = part.replace(/\(mce_at\)/g, '@@'); + } + self[v] = part; + }); + if (baseUri) { + if (!self.protocol) { + self.protocol = baseUri.protocol; + } + if (!self.userInfo) { + self.userInfo = baseUri.userInfo; + } + if (!self.port && self.host === 'mce_host') { + self.port = baseUri.port; + } + if (!self.host || self.host === 'mce_host') { + self.host = baseUri.host; + } + self.source = ''; + } + if (isProtocolRelative) { + self.protocol = ''; + } + } + URI.parseDataUri = function (uri) { + var type; + var uriComponents = decodeURIComponent(uri).split(','); + var matches = /data:([^;]+)/.exec(uriComponents[0]); + if (matches) { + type = matches[1]; + } + return { + type: type, + data: uriComponents[1] + }; + }; + URI.getDocumentBaseUrl = function (loc) { + var baseUrl; + if (loc.protocol.indexOf('http') !== 0 && loc.protocol !== 'file:') { + baseUrl = loc.href; + } else { + baseUrl = loc.protocol + '//' + loc.host + loc.pathname; + } + if (/^[^:]+:\/\/\/?[^\/]+\//.test(baseUrl)) { + baseUrl = baseUrl.replace(/[\?#].*$/, '').replace(/[\/\\][^\/]+$/, ''); + if (!/[\/\\]$/.test(baseUrl)) { + baseUrl += '/'; + } + } + return baseUrl; + }; + URI.prototype.setPath = function (path) { + var pathMatch = /^(.*?)\/?(\w+)?$/.exec(path); + this.path = pathMatch[0]; + this.directory = pathMatch[1]; + this.file = pathMatch[2]; + this.source = ''; + this.getURI(); + }; + URI.prototype.toRelative = function (uri) { + var output; + if (uri === './') { + return uri; + } + var relativeUri = new URI(uri, { base_uri: this }); + if (relativeUri.host !== 'mce_host' && this.host !== relativeUri.host && relativeUri.host || this.port !== relativeUri.port || this.protocol !== relativeUri.protocol && relativeUri.protocol !== '') { + return relativeUri.getURI(); + } + var tu = this.getURI(), uu = relativeUri.getURI(); + if (tu === uu || tu.charAt(tu.length - 1) === '/' && tu.substr(0, tu.length - 1) === uu) { + return tu; + } + output = this.toRelPath(this.path, relativeUri.path); + if (relativeUri.query) { + output += '?' + relativeUri.query; + } + if (relativeUri.anchor) { + output += '#' + relativeUri.anchor; + } + return output; + }; + URI.prototype.toAbsolute = function (uri, noHost) { + var absoluteUri = new URI(uri, { base_uri: this }); + return absoluteUri.getURI(noHost && this.isSameOrigin(absoluteUri)); + }; + URI.prototype.isSameOrigin = function (uri) { + if (this.host == uri.host && this.protocol == uri.protocol) { + if (this.port == uri.port) { + return true; + } + var defaultPort = DEFAULT_PORTS[this.protocol]; + if (defaultPort && (this.port || defaultPort) == (uri.port || defaultPort)) { + return true; + } + } + return false; + }; + URI.prototype.toRelPath = function (base, path) { + var items, breakPoint = 0, out = '', i, l; + var normalizedBase = base.substring(0, base.lastIndexOf('/')).split('/'); + items = path.split('/'); + if (normalizedBase.length >= items.length) { + for (i = 0, l = normalizedBase.length; i < l; i++) { + if (i >= items.length || normalizedBase[i] !== items[i]) { + breakPoint = i + 1; + break; + } + } + } + if (normalizedBase.length < items.length) { + for (i = 0, l = items.length; i < l; i++) { + if (i >= normalizedBase.length || normalizedBase[i] !== items[i]) { + breakPoint = i + 1; + break; + } + } + } + if (breakPoint === 1) { + return path; + } + for (i = 0, l = normalizedBase.length - (breakPoint - 1); i < l; i++) { + out += '../'; + } + for (i = breakPoint - 1, l = items.length; i < l; i++) { + if (i !== breakPoint - 1) { + out += '/' + items[i]; + } else { + out += items[i]; + } + } + return out; + }; + URI.prototype.toAbsPath = function (base, path) { + var i, nb = 0, o = [], tr, outPath; + tr = /\/$/.test(path) ? '/' : ''; + var normalizedBase = base.split('/'); + var normalizedPath = path.split('/'); + each$i(normalizedBase, function (k) { + if (k) { + o.push(k); + } + }); + normalizedBase = o; + for (i = normalizedPath.length - 1, o = []; i >= 0; i--) { + if (normalizedPath[i].length === 0 || normalizedPath[i] === '.') { + continue; + } + if (normalizedPath[i] === '..') { + nb++; + continue; + } + if (nb > 0) { + nb--; + continue; + } + o.push(normalizedPath[i]); + } + i = normalizedBase.length - nb; + if (i <= 0) { + outPath = o.reverse().join('/'); + } else { + outPath = normalizedBase.slice(0, i).join('/') + '/' + o.reverse().join('/'); + } + if (outPath.indexOf('/') !== 0) { + outPath = '/' + outPath; + } + if (tr && outPath.lastIndexOf('/') !== outPath.length - 1) { + outPath += tr; + } + return outPath; + }; + URI.prototype.getURI = function (noProtoHost) { + if (noProtoHost === void 0) { + noProtoHost = false; + } + var s; + if (!this.source || noProtoHost) { + s = ''; + if (!noProtoHost) { + if (this.protocol) { + s += this.protocol + '://'; + } else { + s += '//'; + } + if (this.userInfo) { + s += this.userInfo + '@'; + } + if (this.host) { + s += this.host; + } + if (this.port) { + s += ':' + this.port; + } + } + if (this.path) { + s += this.path; + } + if (this.query) { + s += '?' + this.query; + } + if (this.anchor) { + s += '#' + this.anchor; + } + this.source = s; + } + return this.source; + }; + return URI; + }(); + + var create$5 = function () { + var buttons = {}; + var menuItems = {}; + var popups = {}; + var icons = {}; + var contextMenus = {}; + var contextToolbars = {}; + var sidebars = {}; + var add = function (collection, type) { + return function (name, spec) { + return collection[name.toLowerCase()] = __assign(__assign({}, spec), { type: type }); + }; + }; + var addIcon = function (name, svgData) { + return icons[name.toLowerCase()] = svgData; + }; + return { + addButton: add(buttons, 'button'), + addToggleButton: add(buttons, 'togglebutton'), + addMenuButton: add(buttons, 'menubutton'), + addSplitButton: add(buttons, 'splitbutton'), + addMenuItem: add(menuItems, 'menuitem'), + addNestedMenuItem: add(menuItems, 'nestedmenuitem'), + addToggleMenuItem: add(menuItems, 'togglemenuitem'), + addAutocompleter: add(popups, 'autocompleter'), + addContextMenu: add(contextMenus, 'contextmenu'), + addContextToolbar: add(contextToolbars, 'contexttoolbar'), + addContextForm: add(contextToolbars, 'contextform'), + addSidebar: add(sidebars, 'sidebar'), + addIcon: addIcon, + getAll: function () { + return { + buttons: buttons, + menuItems: menuItems, + icons: icons, + popups: popups, + contextMenus: contextMenus, + contextToolbars: contextToolbars, + sidebars: sidebars + }; + } + }; + }; + + var registry = function () { + var bridge = create$5(); + return { + addAutocompleter: bridge.addAutocompleter, + addButton: bridge.addButton, + addContextForm: bridge.addContextForm, + addContextMenu: bridge.addContextMenu, + addContextToolbar: bridge.addContextToolbar, + addIcon: bridge.addIcon, + addMenuButton: bridge.addMenuButton, + addMenuItem: bridge.addMenuItem, + addNestedMenuItem: bridge.addNestedMenuItem, + addSidebar: bridge.addSidebar, + addSplitButton: bridge.addSplitButton, + addToggleButton: bridge.addToggleButton, + addToggleMenuItem: bridge.addToggleMenuItem, + getAll: bridge.getAll + }; + }; + + var DOM$8 = DOMUtils$1.DOM; + var extend$3 = Tools.extend, each$j = Tools.each; + var resolve$3 = Tools.resolve; + var ie$1 = Env.ie; + var Editor = function () { + function Editor(id, settings, editorManager) { + var _this = this; + this.plugins = {}; + this.contentCSS = []; + this.contentStyles = []; + this.loadedCSS = {}; + this.isNotDirty = false; + this.editorManager = editorManager; + this.documentBaseUrl = editorManager.documentBaseURL; + extend$3(this, EditorObservable); + this.settings = getEditorSettings(this, id, this.documentBaseUrl, editorManager.defaultSettings, settings); + if (this.settings.suffix) { + editorManager.suffix = this.settings.suffix; + } + this.suffix = editorManager.suffix; + if (this.settings.base_url) { + editorManager._setBaseUrl(this.settings.base_url); + } + this.baseUri = editorManager.baseURI; + if (this.settings.referrer_policy) { + ScriptLoader.ScriptLoader._setReferrerPolicy(this.settings.referrer_policy); + DOMUtils$1.DOM.styleSheetLoader._setReferrerPolicy(this.settings.referrer_policy); + } + AddOnManager$1.languageLoad = this.settings.language_load; + AddOnManager$1.baseURL = editorManager.baseURL; + this.id = id; + this.setDirty(false); + this.documentBaseURI = new URI(this.settings.document_base_url, { base_uri: this.baseUri }); + this.baseURI = this.baseUri; + this.inline = !!this.settings.inline; + this.shortcuts = new Shortcuts(this); + this.editorCommands = new EditorCommands(this); + if (this.settings.cache_suffix) { + Env.cacheSuffix = this.settings.cache_suffix.replace(/^[\?\&]+/, ''); + } + this.ui = { registry: registry() }; + var self = this; + var modeInstance = create$4(self); + this.mode = modeInstance; + this.setMode = modeInstance.set; + editorManager.fire('SetupEditor', { editor: this }); + this.execCallback('setup', this); + this.$ = DomQuery.overrideDefaults(function () { + return { + context: _this.inline ? _this.getBody() : _this.getDoc(), + element: _this.getBody() + }; + }); + } + Editor.prototype.render = function () { + Render.render(this); + }; + Editor.prototype.focus = function (skipFocus) { + EditorFocus.focus(this, skipFocus); + }; + Editor.prototype.hasFocus = function () { + return EditorFocus.hasFocus(this); + }; + Editor.prototype.execCallback = function (name) { + var x = []; + for (var _i = 1; _i < arguments.length; _i++) { + x[_i - 1] = arguments[_i]; + } + var self = this; + var callback = self.settings[name], scope; + if (!callback) { + return; + } + if (self.callbackLookup && (scope = self.callbackLookup[name])) { + callback = scope.func; + scope = scope.scope; + } + if (typeof callback === 'string') { + scope = callback.replace(/\.\w+$/, ''); + scope = scope ? resolve$3(scope) : 0; + callback = resolve$3(callback); + self.callbackLookup = self.callbackLookup || {}; + self.callbackLookup[name] = { + func: callback, + scope: scope + }; + } + return callback.apply(scope || self, Array.prototype.slice.call(arguments, 1)); + }; + Editor.prototype.translate = function (text) { + return I18n.translate(text); + }; + Editor.prototype.getParam = function (name, defaultVal, type) { + return getParam(this, name, defaultVal, type); + }; + Editor.prototype.nodeChanged = function (args) { + this._nodeChangeDispatcher.nodeChanged(args); + }; + Editor.prototype.addCommand = function (name, callback, scope) { + this.editorCommands.addCommand(name, callback, scope); + }; + Editor.prototype.addQueryStateHandler = function (name, callback, scope) { + this.editorCommands.addQueryStateHandler(name, callback, scope); + }; + Editor.prototype.addQueryValueHandler = function (name, callback, scope) { + this.editorCommands.addQueryValueHandler(name, callback, scope); + }; + Editor.prototype.addShortcut = function (pattern, desc, cmdFunc, scope) { + this.shortcuts.add(pattern, desc, cmdFunc, scope); + }; + Editor.prototype.execCommand = function (cmd, ui, value, args) { + return this.editorCommands.execCommand(cmd, ui, value, args); + }; + Editor.prototype.queryCommandState = function (cmd) { + return this.editorCommands.queryCommandState(cmd); + }; + Editor.prototype.queryCommandValue = function (cmd) { + return this.editorCommands.queryCommandValue(cmd); + }; + Editor.prototype.queryCommandSupported = function (cmd) { + return this.editorCommands.queryCommandSupported(cmd); + }; + Editor.prototype.show = function () { + var self = this; + if (self.hidden) { + self.hidden = false; + if (self.inline) { + self.getBody().contentEditable = 'true'; + } else { + DOM$8.show(self.getContainer()); + DOM$8.hide(self.id); + } + self.load(); + self.fire('show'); + } + }; + Editor.prototype.hide = function () { + var self = this, doc = self.getDoc(); + if (!self.hidden) { + if (ie$1 && doc && !self.inline) { + doc.execCommand('SelectAll'); + } + self.save(); + if (self.inline) { + self.getBody().contentEditable = 'false'; + if (self === self.editorManager.focusedEditor) { + self.editorManager.focusedEditor = null; + } + } else { + DOM$8.hide(self.getContainer()); + DOM$8.setStyle(self.id, 'display', self.orgDisplay); + } + self.hidden = true; + self.fire('hide'); + } + }; + Editor.prototype.isHidden = function () { + return !!this.hidden; + }; + Editor.prototype.setProgressState = function (state, time) { + this.fire('ProgressState', { + state: state, + time: time + }); + }; + Editor.prototype.load = function (args) { + var self = this; + var elm = self.getElement(), html; + if (self.removed) { + return ''; + } + if (elm) { + args = args || {}; + args.load = true; + var value = NodeType.isTextareaOrInput(elm) ? elm.value : elm.innerHTML; + html = self.setContent(value, args); + args.element = elm; + if (!args.no_events) { + self.fire('LoadContent', args); + } + args.element = elm = null; + return html; + } + }; + Editor.prototype.save = function (args) { + var self = this; + var elm = self.getElement(), html, form; + if (!elm || !self.initialized || self.removed) { + return; + } + args = args || {}; + args.save = true; + args.element = elm; + html = args.content = self.getContent(args); + if (!args.no_events) { + self.fire('SaveContent', args); + } + if (args.format === 'raw') { + self.fire('RawSaveContent', args); + } + html = args.content; + if (!NodeType.isTextareaOrInput(elm)) { + if (args.is_removing || !self.inline) { + elm.innerHTML = html; + } + if (form = DOM$8.getParent(self.id, 'form')) { + each$j(form.elements, function (elm) { + if (elm.name === self.id) { + elm.value = html; + return false; + } + }); + } + } else { + elm.value = html; + } + args.element = elm = null; + if (args.set_dirty !== false) { + self.setDirty(false); + } + return html; + }; + Editor.prototype.setContent = function (content, args) { + return setContent(this, content, args); + }; + Editor.prototype.getContent = function (args) { + return getContent(this, args); + }; + Editor.prototype.insertContent = function (content, args) { + if (args) { + content = extend$3({ content: content }, args); + } + this.execCommand('mceInsertContent', false, content); + }; + Editor.prototype.resetContent = function (initialContent) { + if (initialContent === undefined) { + setContent(this, this.startContent, { format: 'raw' }); + } else { + setContent(this, initialContent); + } + this.undoManager.reset(); + this.setDirty(false); + this.nodeChanged(); + }; + Editor.prototype.isDirty = function () { + return !this.isNotDirty; + }; + Editor.prototype.setDirty = function (state) { + var oldState = !this.isNotDirty; + this.isNotDirty = !state; + if (state && state !== oldState) { + this.fire('dirty'); + } + }; + Editor.prototype.getContainer = function () { + var self = this; + if (!self.container) { + self.container = DOM$8.get(self.editorContainer || self.id + '_parent'); + } + return self.container; + }; + Editor.prototype.getContentAreaContainer = function () { + return this.contentAreaContainer; + }; + Editor.prototype.getElement = function () { + if (!this.targetElm) { + this.targetElm = DOM$8.get(this.id); + } + return this.targetElm; + }; + Editor.prototype.getWin = function () { + var self = this; + var elm; + if (!self.contentWindow) { + elm = self.iframeElement; + if (elm) { + self.contentWindow = elm.contentWindow; + } + } + return self.contentWindow; + }; + Editor.prototype.getDoc = function () { + var self = this; + var win; + if (!self.contentDocument) { + win = self.getWin(); + if (win) { + self.contentDocument = win.document; + } + } + return self.contentDocument; + }; + Editor.prototype.getBody = function () { + var doc = this.getDoc(); + return this.bodyElement || (doc ? doc.body : null); + }; + Editor.prototype.convertURL = function (url, name, elm) { + var self = this, settings = self.settings; + if (settings.urlconverter_callback) { + return self.execCallback('urlconverter_callback', url, elm, true, name); + } + if (!settings.convert_urls || elm && elm.nodeName === 'LINK' || url.indexOf('file:') === 0 || url.length === 0) { + return url; + } + if (settings.relative_urls) { + return self.documentBaseURI.toRelative(url); + } + url = self.documentBaseURI.toAbsolute(url, settings.remove_script_host); + return url; + }; + Editor.prototype.addVisual = function (elm) { + var self = this; + var settings = self.settings; + var dom = self.dom; + var cls; + elm = elm || self.getBody(); + if (self.hasVisual === undefined) { + self.hasVisual = settings.visual; + } + each$j(dom.select('table,a', elm), function (elm) { + var value; + switch (elm.nodeName) { + case 'TABLE': + cls = settings.visual_table_class || 'mce-item-table'; + value = dom.getAttrib(elm, 'border'); + if ((!value || value === '0') && self.hasVisual) { + dom.addClass(elm, cls); + } else { + dom.removeClass(elm, cls); + } + return; + case 'A': + if (!dom.getAttrib(elm, 'href')) { + value = dom.getAttrib(elm, 'name') || elm.id; + cls = settings.visual_anchor_class || 'mce-item-anchor'; + if (value && self.hasVisual) { + dom.addClass(elm, cls); + } else { + dom.removeClass(elm, cls); + } + } + return; + } + }); + self.fire('VisualAid', { + element: elm, + hasVisual: self.hasVisual + }); + }; + Editor.prototype.remove = function () { + remove$6(this); + }; + Editor.prototype.destroy = function (automatic) { + destroy(this, automatic); + }; + Editor.prototype.uploadImages = function (callback) { + return this.editorUpload.uploadImages(callback); + }; + Editor.prototype._scanForImages = function () { + return this.editorUpload.scanForImages(); + }; + Editor.prototype.addButton = function () { + throw new Error('editor.addButton has been removed in tinymce 5x, use editor.ui.registry.addButton or editor.ui.registry.addToggleButton or editor.ui.registry.addSplitButton instead'); + }; + Editor.prototype.addSidebar = function () { + throw new Error('editor.addSidebar has been removed in tinymce 5x, use editor.ui.registry.addSidebar instead'); + }; + Editor.prototype.addMenuItem = function () { + throw new Error('editor.addMenuItem has been removed in tinymce 5x, use editor.ui.registry.addMenuItem instead'); + }; + Editor.prototype.addContextToolbar = function () { + throw new Error('editor.addContextToolbar has been removed in tinymce 5x, use editor.ui.registry.addContextToolbar instead'); + }; + return Editor; + }(); + + var DOM$9 = DOMUtils$1.DOM; + var explode$4 = Tools.explode, each$k = Tools.each, extend$4 = Tools.extend; + var instanceCounter = 0, boundGlobalEvents = false; + var beforeUnloadDelegate; + var legacyEditors = []; + var editors = []; + var isValidLegacyKey = function (id) { + return id !== 'length'; + }; + var globalEventDelegate = function (e) { + var type = e.type; + each$k(EditorManager.get(), function (editor) { + switch (type) { + case 'scroll': + editor.fire('ScrollWindow', e); + break; + case 'resize': + editor.fire('ResizeWindow', e); + break; + } + }); + }; + var toggleGlobalEvents = function (state) { + if (state !== boundGlobalEvents) { + if (state) { + DomQuery(window).on('resize scroll', globalEventDelegate); + } else { + DomQuery(window).off('resize scroll', globalEventDelegate); + } + boundGlobalEvents = state; + } + }; + var removeEditorFromList = function (targetEditor) { + var oldEditors = editors; + delete legacyEditors[targetEditor.id]; + for (var i = 0; i < legacyEditors.length; i++) { + if (legacyEditors[i] === targetEditor) { + legacyEditors.splice(i, 1); + break; + } + } + editors = filter(editors, function (editor) { + return targetEditor !== editor; + }); + if (EditorManager.activeEditor === targetEditor) { + EditorManager.activeEditor = editors.length > 0 ? editors[0] : null; + } + if (EditorManager.focusedEditor === targetEditor) { + EditorManager.focusedEditor = null; + } + return oldEditors.length !== editors.length; + }; + var purgeDestroyedEditor = function (editor) { + if (editor && editor.initialized && !(editor.getContainer() || editor.getBody()).parentNode) { + removeEditorFromList(editor); + editor.unbindAllNativeEvents(); + editor.destroy(true); + editor.removed = true; + editor = null; + } + return editor; + }; + var isQuirksMode = domGlobals.document.compatMode !== 'CSS1Compat'; + var EditorManager = __assign(__assign({}, Observable), { + baseURI: null, + baseURL: null, + defaultSettings: {}, + documentBaseURL: null, + suffix: null, + $: DomQuery, + majorVersion: '5', + minorVersion: '1.4', + releaseDate: '2019-12-11', + editors: legacyEditors, + i18n: I18n, + activeEditor: null, + focusedEditor: null, + settings: {}, + setup: function () { + var self = this; + var baseURL, documentBaseURL, suffix = ''; + documentBaseURL = URI.getDocumentBaseUrl(domGlobals.document.location); + if (/^[^:]+:\/\/\/?[^\/]+\//.test(documentBaseURL)) { + documentBaseURL = documentBaseURL.replace(/[\?#].*$/, '').replace(/[\/\\][^\/]+$/, ''); + if (!/[\/\\]$/.test(documentBaseURL)) { + documentBaseURL += '/'; + } + } + var preInit = window.tinymce || window.tinyMCEPreInit; + if (preInit) { + baseURL = preInit.base || preInit.baseURL; + suffix = preInit.suffix; + } else { + var scripts = domGlobals.document.getElementsByTagName('script'); + for (var i = 0; i < scripts.length; i++) { + var src = scripts[i].src || ''; + if (src === '') { + continue; + } + var srcScript = src.substring(src.lastIndexOf('/')); + if (/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(src)) { + if (srcScript.indexOf('.min') !== -1) { + suffix = '.min'; + } + baseURL = src.substring(0, src.lastIndexOf('/')); + break; + } + } + if (!baseURL && domGlobals.document.currentScript) { + var src = domGlobals.document.currentScript.src; + if (src.indexOf('.min') !== -1) { + suffix = '.min'; + } + baseURL = src.substring(0, src.lastIndexOf('/')); + } + } + self.baseURL = new URI(documentBaseURL).toAbsolute(baseURL); + self.documentBaseURL = documentBaseURL; + self.baseURI = new URI(self.baseURL); + self.suffix = suffix; + FocusController.setup(self); + }, + overrideDefaults: function (defaultSettings) { + var baseUrl, suffix; + baseUrl = defaultSettings.base_url; + if (baseUrl) { + this._setBaseUrl(baseUrl); + } + suffix = defaultSettings.suffix; + if (defaultSettings.suffix) { + this.suffix = suffix; + } + this.defaultSettings = defaultSettings; + var pluginBaseUrls = defaultSettings.plugin_base_urls; + for (var name in pluginBaseUrls) { + AddOnManager$1.PluginManager.urls[name] = pluginBaseUrls[name]; + } + }, + init: function (settings) { + var self = this; + var result, invalidInlineTargets; + invalidInlineTargets = Tools.makeMap('area base basefont br col frame hr img input isindex link meta param embed source wbr track ' + 'colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu', ' '); + var isInvalidInlineTarget = function (settings, elm) { + return settings.inline && elm.tagName.toLowerCase() in invalidInlineTargets; + }; + var createId = function (elm) { + var id = elm.id; + if (!id) { + id = elm.name; + if (id && !DOM$9.get(id)) { + id = elm.name; + } else { + id = DOM$9.uniqueId(); + } + elm.setAttribute('id', id); + } + return id; + }; + var execCallback = function (name) { + var callback = settings[name]; + if (!callback) { + return; + } + return callback.apply(self, Array.prototype.slice.call(arguments, 2)); + }; + var hasClass = function (elm, className) { + return className.constructor === RegExp ? className.test(elm.className) : DOM$9.hasClass(elm, className); + }; + var findTargets = function (settings) { + var l, targets = []; + if (Env.browser.isIE() && Env.browser.version.major < 11) { + ErrorReporter.initError('TinyMCE does not support the browser you are using. For a list of supported' + ' browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/'); + return []; + } else if (isQuirksMode) { + ErrorReporter.initError('Failed to initialize the editor as the document is not in standards mode. ' + 'TinyMCE requires standards mode.'); + return []; + } + if (settings.types) { + each$k(settings.types, function (type) { + targets = targets.concat(DOM$9.select(type.selector)); + }); + return targets; + } else if (settings.selector) { + return DOM$9.select(settings.selector); + } else if (settings.target) { + return [settings.target]; + } + switch (settings.mode) { + case 'exact': + l = settings.elements || ''; + if (l.length > 0) { + each$k(explode$4(l), function (id) { + var elm; + if (elm = DOM$9.get(id)) { + targets.push(elm); + } else { + each$k(domGlobals.document.forms, function (f) { + each$k(f.elements, function (e) { + if (e.name === id) { + id = 'mce_editor_' + instanceCounter++; + DOM$9.setAttrib(e, 'id', id); + targets.push(e); + } + }); + }); + } + }); + } + break; + case 'textareas': + case 'specific_textareas': + each$k(DOM$9.select('textarea'), function (elm) { + if (settings.editor_deselector && hasClass(elm, settings.editor_deselector)) { + return; + } + if (!settings.editor_selector || hasClass(elm, settings.editor_selector)) { + targets.push(elm); + } + }); + break; + } + return targets; + }; + var provideResults = function (editors) { + result = editors; + }; + var initEditors = function () { + var initCount = 0; + var editors = []; + var targets; + var createEditor = function (id, settings, targetElm) { + var editor = new Editor(id, settings, self); + editors.push(editor); + editor.on('init', function () { + if (++initCount === targets.length) { + provideResults(editors); + } + }); + editor.targetElm = editor.targetElm || targetElm; + editor.render(); + }; + DOM$9.unbind(window, 'ready', initEditors); + execCallback('onpageload'); + targets = DomQuery.unique(findTargets(settings)); + if (settings.types) { + each$k(settings.types, function (type) { + Tools.each(targets, function (elm) { + if (DOM$9.is(elm, type.selector)) { + createEditor(createId(elm), extend$4({}, settings, type), elm); + return false; + } + return true; + }); + }); + return; + } + Tools.each(targets, function (elm) { + purgeDestroyedEditor(self.get(elm.id)); + }); + targets = Tools.grep(targets, function (elm) { + return !self.get(elm.id); + }); + if (targets.length === 0) { + provideResults([]); + } else { + each$k(targets, function (elm) { + if (isInvalidInlineTarget(settings, elm)) { + ErrorReporter.initError('Could not initialize inline editor on invalid inline target element', elm); + } else { + createEditor(createId(elm), settings, elm); + } + }); + } + }; + self.settings = settings; + DOM$9.bind(window, 'ready', initEditors); + return new promiseObj(function (resolve) { + if (result) { + resolve(result); + } else { + provideResults = function (editors) { + resolve(editors); + }; + } + }); + }, + get: function (id) { + if (arguments.length === 0) { + return editors.slice(0); + } else if (isString(id)) { + return find(editors, function (editor) { + return editor.id === id; + }).getOr(null); + } else if (isNumber(id)) { + return editors[id] ? editors[id] : null; + } else { + return null; + } + }, + add: function (editor) { + var self = this; + var existingEditor; + existingEditor = legacyEditors[editor.id]; + if (existingEditor === editor) { + return editor; + } + if (self.get(editor.id) === null) { + if (isValidLegacyKey(editor.id)) { + legacyEditors[editor.id] = editor; + } + legacyEditors.push(editor); + editors.push(editor); + } + toggleGlobalEvents(true); + self.activeEditor = editor; + self.fire('AddEditor', { editor: editor }); + if (!beforeUnloadDelegate) { + beforeUnloadDelegate = function (e) { + var event = self.fire('BeforeUnload'); + if (event.returnValue) { + e.preventDefault(); + e.returnValue = event.returnValue; + return event.returnValue; + } + }; + window.addEventListener('beforeunload', beforeUnloadDelegate); + } + return editor; + }, + createEditor: function (id, settings) { + return this.add(new Editor(id, settings, this)); + }, + remove: function (selector) { + var self = this; + var i, editor; + if (!selector) { + for (i = editors.length - 1; i >= 0; i--) { + self.remove(editors[i]); + } + return; + } + if (isString(selector)) { + each$k(DOM$9.select(selector), function (elm) { + editor = self.get(elm.id); + if (editor) { + self.remove(editor); + } + }); + return; + } + editor = selector; + if (isNull(self.get(editor.id))) { + return null; + } + if (removeEditorFromList(editor)) { + self.fire('RemoveEditor', { editor: editor }); + } + if (editors.length === 0) { + window.removeEventListener('beforeunload', beforeUnloadDelegate); + } + editor.remove(); + toggleGlobalEvents(editors.length > 0); + return editor; + }, + execCommand: function (cmd, ui, value) { + var self = this, editor = self.get(value); + switch (cmd) { + case 'mceAddEditor': + if (!self.get(value)) { + new Editor(value, self.settings, self).render(); + } + return true; + case 'mceRemoveEditor': + if (editor) { + editor.remove(); + } + return true; + case 'mceToggleEditor': + if (!editor) { + self.execCommand('mceAddEditor', 0, value); + return true; + } + if (editor.isHidden()) { + editor.show(); + } else { + editor.hide(); + } + return true; + } + if (self.activeEditor) { + return self.activeEditor.execCommand(cmd, ui, value); + } + return false; + }, + triggerSave: function () { + each$k(editors, function (editor) { + editor.save(); + }); + }, + addI18n: function (code, items) { + I18n.add(code, items); + }, + translate: function (text) { + return I18n.translate(text); + }, + setActive: function (editor) { + var activeEditor = this.activeEditor; + if (this.activeEditor !== editor) { + if (activeEditor) { + activeEditor.fire('deactivate', { relatedTarget: editor }); + } + editor.fire('activate', { relatedTarget: activeEditor }); + } + this.activeEditor = editor; + }, + _setBaseUrl: function (baseUrl) { + this.baseURL = new URI(this.documentBaseURL).toAbsolute(baseUrl.replace(/\/+$/, '')); + this.baseURI = new URI(this.baseURL); + } + }); + EditorManager.setup(); + + function RangeUtils(dom) { + var walk = function (rng, callback) { + return RangeWalk.walk(dom, rng, callback); + }; + var split = split$1; + var normalize = function (rng) { + return NormalizeRange.normalize(dom, rng).fold(constant(false), function (normalizedRng) { + rng.setStart(normalizedRng.startContainer, normalizedRng.startOffset); + rng.setEnd(normalizedRng.endContainer, normalizedRng.endOffset); + return true; + }); + }; + return { + walk: walk, + split: split, + normalize: normalize + }; + } + (function (RangeUtils) { + RangeUtils.compareRanges = RangeCompare.isEq; + RangeUtils.getCaretRangeFromPoint = CaretRangeFromPoint.fromPoint; + RangeUtils.getSelectedNode = getSelectedNode; + RangeUtils.getNode = getNode; + }(RangeUtils || (RangeUtils = {}))); + var RangeUtils$1 = RangeUtils; + + var awaiter = function (resolveCb, rejectCb, timeout) { + if (timeout === void 0) { + timeout = 1000; + } + var done = false; + var timer = null; + var complete = function (completer) { + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (!done) { + done = true; + if (timer !== null) { + domGlobals.clearTimeout(timer); + timer = null; + } + completer.apply(null, args); + } + }; + }; + var resolve = complete(resolveCb); + var reject = complete(rejectCb); + var start = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (!done && timer === null) { + timer = domGlobals.setTimeout(function () { + return reject.apply(null, args); + }, timeout); + } + }; + return { + start: start, + resolve: resolve, + reject: reject + }; + }; + var create$6 = function () { + var tasks = {}; + var resultFns = {}; + var load = function (id, url) { + var loadErrMsg = 'Script at URL "' + url + '" failed to load'; + var runErrMsg = 'Script at URL "' + url + '" did not call `tinymce.Resource.add(\'' + id + '\', data)` within 1 second'; + if (tasks[id] !== undefined) { + return tasks[id]; + } else { + var task = new promiseObj(function (resolve, reject) { + var waiter = awaiter(resolve, reject); + resultFns[id] = waiter.resolve; + ScriptLoader.ScriptLoader.loadScript(url, function () { + return waiter.start(runErrMsg); + }, function () { + return waiter.reject(loadErrMsg); + }); + }); + tasks[id] = task; + return task; + } + }; + var add = function (id, data) { + if (resultFns[id] !== undefined) { + resultFns[id](data); + delete resultFns[id]; + } + tasks[id] = promiseObj.resolve(data); + }; + return { + load: load, + add: add + }; + }; + var Resource = create$6(); + + var min = Math.min, max = Math.max, round$2 = Math.round; + var relativePosition = function (rect, targetRect, rel) { + var x, y, w, h, targetW, targetH; + x = targetRect.x; + y = targetRect.y; + w = rect.w; + h = rect.h; + targetW = targetRect.w; + targetH = targetRect.h; + rel = (rel || '').split(''); + if (rel[0] === 'b') { + y += targetH; + } + if (rel[1] === 'r') { + x += targetW; + } + if (rel[0] === 'c') { + y += round$2(targetH / 2); + } + if (rel[1] === 'c') { + x += round$2(targetW / 2); + } + if (rel[3] === 'b') { + y -= h; + } + if (rel[4] === 'r') { + x -= w; + } + if (rel[3] === 'c') { + y -= round$2(h / 2); + } + if (rel[4] === 'c') { + x -= round$2(w / 2); + } + return create$7(x, y, w, h); + }; + var findBestRelativePosition = function (rect, targetRect, constrainRect, rels) { + var pos, i; + for (i = 0; i < rels.length; i++) { + pos = relativePosition(rect, targetRect, rels[i]); + if (pos.x >= constrainRect.x && pos.x + pos.w <= constrainRect.w + constrainRect.x && pos.y >= constrainRect.y && pos.y + pos.h <= constrainRect.h + constrainRect.y) { + return rels[i]; + } + } + return null; + }; + var inflate = function (rect, w, h) { + return create$7(rect.x - w, rect.y - h, rect.w + w * 2, rect.h + h * 2); + }; + var intersect = function (rect, cropRect) { + var x1, y1, x2, y2; + x1 = max(rect.x, cropRect.x); + y1 = max(rect.y, cropRect.y); + x2 = min(rect.x + rect.w, cropRect.x + cropRect.w); + y2 = min(rect.y + rect.h, cropRect.y + cropRect.h); + if (x2 - x1 < 0 || y2 - y1 < 0) { + return null; + } + return create$7(x1, y1, x2 - x1, y2 - y1); + }; + var clamp$1 = function (rect, clampRect, fixedSize) { + var underflowX1, underflowY1, overflowX2, overflowY2, x1, y1, x2, y2, cx2, cy2; + x1 = rect.x; + y1 = rect.y; + x2 = rect.x + rect.w; + y2 = rect.y + rect.h; + cx2 = clampRect.x + clampRect.w; + cy2 = clampRect.y + clampRect.h; + underflowX1 = max(0, clampRect.x - x1); + underflowY1 = max(0, clampRect.y - y1); + overflowX2 = max(0, x2 - cx2); + overflowY2 = max(0, y2 - cy2); + x1 += underflowX1; + y1 += underflowY1; + if (fixedSize) { + x2 += underflowX1; + y2 += underflowY1; + x1 -= overflowX2; + y1 -= overflowY2; + } + x2 -= overflowX2; + y2 -= overflowY2; + return create$7(x1, y1, x2 - x1, y2 - y1); + }; + var create$7 = function (x, y, w, h) { + return { + x: x, + y: y, + w: w, + h: h + }; + }; + var fromClientRect = function (clientRect) { + return create$7(clientRect.left, clientRect.top, clientRect.width, clientRect.height); + }; + var Rect = { + inflate: inflate, + relativePosition: relativePosition, + findBestRelativePosition: findBestRelativePosition, + intersect: intersect, + clamp: clamp$1, + create: create$7, + fromClientRect: fromClientRect + }; + + var each$l = Tools.each, extend$5 = Tools.extend; + var extendClass, initializing; + var Class = function () { + }; + Class.extend = extendClass = function (prop) { + var self = this; + var _super = self.prototype; + var prototype, name, member; + var Class = function () { + var i, mixins, mixin; + var self = this; + if (!initializing) { + if (self.init) { + self.init.apply(self, arguments); + } + mixins = self.Mixins; + if (mixins) { + i = mixins.length; + while (i--) { + mixin = mixins[i]; + if (mixin.init) { + mixin.init.apply(self, arguments); + } + } + } + } + }; + var dummy = function () { + return this; + }; + var createMethod = function (name, fn) { + return function () { + var self = this; + var tmp = self._super; + var ret; + self._super = _super[name]; + ret = fn.apply(self, arguments); + self._super = tmp; + return ret; + }; + }; + initializing = true; + prototype = new self(); + initializing = false; + if (prop.Mixins) { + each$l(prop.Mixins, function (mixin) { + for (var name_1 in mixin) { + if (name_1 !== 'init') { + prop[name_1] = mixin[name_1]; + } + } + }); + if (_super.Mixins) { + prop.Mixins = _super.Mixins.concat(prop.Mixins); + } + } + if (prop.Methods) { + each$l(prop.Methods.split(','), function (name) { + prop[name] = dummy; + }); + } + if (prop.Properties) { + each$l(prop.Properties.split(','), function (name) { + var fieldName = '_' + name; + prop[name] = function (value) { + var self = this; + if (value !== undefined) { + self[fieldName] = value; + return self; + } + return self[fieldName]; + }; + }); + } + if (prop.Statics) { + each$l(prop.Statics, function (func, name) { + Class[name] = func; + }); + } + if (prop.Defaults && _super.Defaults) { + prop.Defaults = extend$5({}, _super.Defaults, prop.Defaults); + } + for (name in prop) { + member = prop[name]; + if (typeof member === 'function' && _super[name]) { + prototype[name] = createMethod(name, member); + } else { + prototype[name] = member; + } + } + Class.prototype = prototype; + Class.constructor = Class; + Class.extend = extendClass; + return Class; + }; + + var min$1 = Math.min, max$1 = Math.max, round$3 = Math.round; + var Color = function (value) { + var self = {}; + var r = 0, g = 0, b = 0; + var rgb2hsv = function (r, g, b) { + var h, s, v, d, minRGB, maxRGB; + h = 0; + s = 0; + v = 0; + r = r / 255; + g = g / 255; + b = b / 255; + minRGB = min$1(r, min$1(g, b)); + maxRGB = max$1(r, max$1(g, b)); + if (minRGB === maxRGB) { + v = minRGB; + return { + h: 0, + s: 0, + v: v * 100 + }; + } + d = r === minRGB ? g - b : b === minRGB ? r - g : b - r; + h = r === minRGB ? 3 : b === minRGB ? 1 : 5; + h = 60 * (h - d / (maxRGB - minRGB)); + s = (maxRGB - minRGB) / maxRGB; + v = maxRGB; + return { + h: round$3(h), + s: round$3(s * 100), + v: round$3(v * 100) + }; + }; + var hsvToRgb = function (hue, saturation, brightness) { + var side, chroma, x, match; + hue = (parseInt(hue, 10) || 0) % 360; + saturation = parseInt(saturation, 10) / 100; + brightness = parseInt(brightness, 10) / 100; + saturation = max$1(0, min$1(saturation, 1)); + brightness = max$1(0, min$1(brightness, 1)); + if (saturation === 0) { + r = g = b = round$3(255 * brightness); + return; + } + side = hue / 60; + chroma = brightness * saturation; + x = chroma * (1 - Math.abs(side % 2 - 1)); + match = brightness - chroma; + switch (Math.floor(side)) { + case 0: + r = chroma; + g = x; + b = 0; + break; + case 1: + r = x; + g = chroma; + b = 0; + break; + case 2: + r = 0; + g = chroma; + b = x; + break; + case 3: + r = 0; + g = x; + b = chroma; + break; + case 4: + r = x; + g = 0; + b = chroma; + break; + case 5: + r = chroma; + g = 0; + b = x; + break; + default: + r = g = b = 0; + } + r = round$3(255 * (r + match)); + g = round$3(255 * (g + match)); + b = round$3(255 * (b + match)); + }; + var toHex = function () { + var hex = function (val) { + val = parseInt(val, 10).toString(16); + return val.length > 1 ? val : '0' + val; + }; + return '#' + hex(r) + hex(g) + hex(b); + }; + var toRgb = function () { + return { + r: r, + g: g, + b: b + }; + }; + var toHsv = function () { + return rgb2hsv(r, g, b); + }; + var parse = function (value) { + var matches; + if (typeof value === 'object') { + if ('r' in value) { + r = value.r; + g = value.g; + b = value.b; + } else if ('v' in value) { + hsvToRgb(value.h, value.s, value.v); + } + } else { + if (matches = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(value)) { + r = parseInt(matches[1], 10); + g = parseInt(matches[2], 10); + b = parseInt(matches[3], 10); + } else if (matches = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(value)) { + r = parseInt(matches[1], 16); + g = parseInt(matches[2], 16); + b = parseInt(matches[3], 16); + } else if (matches = /#([0-F])([0-F])([0-F])/gi.exec(value)) { + r = parseInt(matches[1] + matches[1], 16); + g = parseInt(matches[2] + matches[2], 16); + b = parseInt(matches[3] + matches[3], 16); + } + } + r = r < 0 ? 0 : r > 255 ? 255 : r; + g = g < 0 ? 0 : g > 255 ? 255 : g; + b = b < 0 ? 0 : b > 255 ? 255 : b; + return self; + }; + if (value) { + parse(value); + } + self.toRgb = toRgb; + self.toHsv = toHsv; + self.toHex = toHex; + self.parse = parse; + return self; + }; + + var serialize = function (obj) { + var data = JSON.stringify(obj); + if (!isString(data)) { + return data; + } + return data.replace(/[\u0080-\uFFFF]/g, function (match) { + var hexCode = match.charCodeAt(0).toString(16); + return '\\u' + '0000'.substring(hexCode.length) + hexCode; + }); + }; + var JSONUtils = { + serialize: serialize, + parse: function (text) { + try { + return JSON.parse(text); + } catch (ex) { + } + } + }; + + var JSONP = { + callbacks: {}, + count: 0, + send: function (settings) { + var self = this, dom = DOMUtils$1.DOM, count = settings.count !== undefined ? settings.count : self.count; + var id = 'tinymce_jsonp_' + count; + self.callbacks[count] = function (json) { + dom.remove(id); + delete self.callbacks[count]; + settings.callback(json); + }; + dom.add(dom.doc.body, 'script', { + id: id, + src: settings.url, + type: 'text/javascript' + }); + self.count++; + } + }; + + var XHR = __assign(__assign({}, Observable), { + send: function (settings) { + var xhr, count = 0; + var ready = function () { + if (!settings.async || xhr.readyState === 4 || count++ > 10000) { + if (settings.success && count < 10000 && xhr.status === 200) { + settings.success.call(settings.success_scope, '' + xhr.responseText, xhr, settings); + } else if (settings.error) { + settings.error.call(settings.error_scope, count > 10000 ? 'TIMED_OUT' : 'GENERAL', xhr, settings); + } + xhr = null; + } else { + Delay.setTimeout(ready, 10); + } + }; + settings.scope = settings.scope || this; + settings.success_scope = settings.success_scope || settings.scope; + settings.error_scope = settings.error_scope || settings.scope; + settings.async = settings.async !== false; + settings.data = settings.data || ''; + XHR.fire('beforeInitialize', { settings: settings }); + xhr = new domGlobals.XMLHttpRequest(); + if (xhr) { + if (xhr.overrideMimeType) { + xhr.overrideMimeType(settings.content_type); + } + xhr.open(settings.type || (settings.data ? 'POST' : 'GET'), settings.url, settings.async); + if (settings.crossDomain) { + xhr.withCredentials = true; + } + if (settings.content_type) { + xhr.setRequestHeader('Content-Type', settings.content_type); + } + if (settings.requestheaders) { + Tools.each(settings.requestheaders, function (header) { + xhr.setRequestHeader(header.key, header.value); + }); + } + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + xhr = XHR.fire('beforeSend', { + xhr: xhr, + settings: settings + }).xhr; + xhr.send(settings.data); + if (!settings.async) { + return ready(); + } + Delay.setTimeout(ready, 10); + } + } + }); + + var extend$6 = Tools.extend; + var JSONRequest = function () { + function JSONRequest(settings) { + this.settings = extend$6({}, settings); + this.count = 0; + } + JSONRequest.sendRPC = function (o) { + return new JSONRequest().send(o); + }; + JSONRequest.prototype.send = function (args) { + var ecb = args.error, scb = args.success; + var xhrArgs = extend$6(this.settings, args); + xhrArgs.success = function (c, x) { + c = JSONUtils.parse(c); + if (typeof c === 'undefined') { + c = { error: 'JSON Parse error.' }; + } + if (c.error) { + ecb.call(xhrArgs.error_scope || xhrArgs.scope, c.error, x); + } else { + scb.call(xhrArgs.success_scope || xhrArgs.scope, c.result); + } + }; + xhrArgs.error = function (ty, x) { + if (ecb) { + ecb.call(xhrArgs.error_scope || xhrArgs.scope, ty, x); + } + }; + xhrArgs.data = JSONUtils.serialize({ + id: args.id || 'c' + this.count++, + method: args.method, + params: args.params + }); + xhrArgs.content_type = 'application/json'; + XHR.send(xhrArgs); + }; + return JSONRequest; + }(); + + var create$8 = function () { + return function () { + var data = {}; + var keys = []; + var storage = { + getItem: function (key) { + var item = data[key]; + return item ? item : null; + }, + setItem: function (key, value) { + keys.push(key); + data[key] = String(value); + }, + key: function (index) { + return keys[index]; + }, + removeItem: function (key) { + keys = keys.filter(function (k) { + return k === key; + }); + delete data[key]; + }, + clear: function () { + keys = []; + data = {}; + }, + length: 0 + }; + Object.defineProperty(storage, 'length', { + get: function () { + return keys.length; + }, + configurable: false, + enumerable: false + }); + return storage; + }(); + }; + + var localStorage; + try { + localStorage = domGlobals.window.localStorage; + } catch (e) { + localStorage = create$8(); + } + var LocalStorage = localStorage; + + var publicApi = { + geom: { Rect: Rect }, + util: { + Promise: promiseObj, + Delay: Delay, + Tools: Tools, + VK: VK, + URI: URI, + Class: Class, + EventDispatcher: EventDispatcher, + Observable: Observable, + I18n: I18n, + XHR: XHR, + JSON: JSONUtils, + JSONRequest: JSONRequest, + JSONP: JSONP, + LocalStorage: LocalStorage, + Color: Color + }, + dom: { + EventUtils: EventUtils, + Sizzle: Sizzle, + DomQuery: DomQuery, + TreeWalker: TreeWalker, + DOMUtils: DOMUtils$1, + ScriptLoader: ScriptLoader, + RangeUtils: RangeUtils$1, + Serializer: Serializer$1, + ControlSelection: ControlSelection, + BookmarkManager: BookmarkManager$1, + Selection: Selection$1, + Event: EventUtils.Event + }, + html: { + Styles: Styles, + Entities: Entities, + Node: Node$1, + Schema: Schema, + SaxParser: SaxParser$1, + DomParser: DomParser, + Writer: Writer, + Serializer: Serializer + }, + Env: Env, + AddOnManager: AddOnManager$1, + Annotator: Annotator, + Formatter: Formatter, + UndoManager: UndoManager, + EditorCommands: EditorCommands, + WindowManager: WindowManager, + NotificationManager: NotificationManager, + EditorObservable: EditorObservable, + Shortcuts: Shortcuts, + Editor: Editor, + FocusManager: FocusManager, + EditorManager: EditorManager, + DOM: DOMUtils$1.DOM, + ScriptLoader: ScriptLoader.ScriptLoader, + PluginManager: AddOnManager$1.PluginManager, + ThemeManager: AddOnManager$1.ThemeManager, + IconManager: IconManager, + Resource: Resource, + trim: Tools.trim, + isArray: Tools.isArray, + is: Tools.is, + toArray: Tools.toArray, + makeMap: Tools.makeMap, + each: Tools.each, + map: Tools.map, + grep: Tools.grep, + inArray: Tools.inArray, + extend: Tools.extend, + create: Tools.create, + walk: Tools.walk, + createNS: Tools.createNS, + resolve: Tools.resolve, + explode: Tools.explode, + _addCacheSuffix: Tools._addCacheSuffix, + isOpera: Env.opera, + isWebKit: Env.webkit, + isIE: Env.ie, + isGecko: Env.gecko, + isMac: Env.mac + }; + var tinymce = Tools.extend(EditorManager, publicApi); + + var exportToModuleLoaders = function (tinymce) { + if (typeof module === 'object') { + try { + module.exports = tinymce; + } catch (_) { + } + } + }; + var exportToWindowGlobal = function (tinymce) { + window.tinymce = tinymce; + window.tinyMCE = tinymce; + }; + exportToWindowGlobal(tinymce); + exportToModuleLoaders(tinymce); + +}(window)); + + + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +/** + * Jquery integration plugin. + * + * @class tinymce.core.JqueryIntegration + * @private + */ +!function(){var f,c,u,p,d,s=[];d="undefined"!=typeof global?global:window,p=d.jQuery;function v(){ +// Reference to tinymce needs to be lazily evaluated since tinymce +// might be loaded through the compressor or other means +return d.tinymce}p.fn.tinymce=function(o){var e,t,i,l=this,r=""; +// No match then just ignore the call +if(!l.length)return l; +// Get editor instance +if(!o)return v()?v().get(l[0].id):null;l.css("visibility","hidden");function n(){var a=[],c=0; +// Apply patches to the jQuery object, only once +u||(m(),u=!0), +// Create an editor instance for each matched node +l.each(function(e,t){var n,i=t.id,r=o.oninit; +// Generate unique id for target element if needed +i||(t.id=i=v().DOM.uniqueId()), +// Only init the editor once +v().get(i)||( +// Create editor instance and render it +n=v().createEditor(i,o),a.push(n),n.on("init",function(){var e,t=r;l.css("visibility",""), +// Run this if the oninit setting is defined +// this logic will fire the oninit callback ones each +// matched editor instance is initialized +r&&++c==a.length&&("string"==typeof t&&(e=-1===t.indexOf(".")?null:v().resolve(t.replace(/\.\w+$/,"")),t=v().resolve(t)), +// Call the oninit function with the object +t.apply(e||v(),a))}))}), +// Render the editor instances in a separate loop since we +// need to have the full editors array used in the onInit calls +p.each(a,function(e,t){t.render()})} +// Load TinyMCE on demand, if we need to +if(d.tinymce||c||!(e=o.script_url)) +// Delay the init call until tinymce is loaded +1===c?s.push(n):n();else{c=1,t=e.substring(0,e.lastIndexOf("/")), +// Check if it's a dev/src version they want to load then +// make sure that all plugins, themes etc are loaded in source mode as well +-1!=e.indexOf(".min")&&(r=".min"), +// Setup tinyMCEPreInit object this will later be used by the TinyMCE +// core script to locate other resources like CSS files, dialogs etc +// You can also predefined a tinyMCEPreInit object and then it will use that instead +d.tinymce=d.tinyMCEPreInit||{base:t,suffix:r}, +// url contains gzip then we assume it's a compressor +-1!=e.indexOf("gzip")&&(i=o.language||"en",e=e+(/\?/.test(e)?"&":"?")+"js=true&core=true&suffix="+escape(r)+"&themes="+escape(o.theme||"modern")+"&plugins="+escape(o.plugins||"")+"&languages="+(i||""), +// Check if compressor script is already loaded otherwise setup a basic one +d.tinyMCE_GZ||(d.tinyMCE_GZ={start:function(){function n(e){v().ScriptLoader.markDone(v().baseURI.toAbsolute(e))} +// Add core languages +n("langs/"+i+".js"), +// Add themes with languages +n("themes/"+o.theme+"/theme"+r+".js"),n("themes/"+o.theme+"/langs/"+i+".js"), +// Add plugins with languages +p.each(o.plugins.split(","),function(e,t){t&&(n("plugins/"+t+"/plugin"+r+".js"),n("plugins/"+t+"/langs/"+i+".js"))})},end:function(){}}));var a=document.createElement("script");a.type="text/javascript",a.onload=a.onreadystatechange=function(e){e=e||window.event,2===c||"load"!=e.type&&!/complete|loaded/.test(a.readyState)||(v().dom.Event.domLoaded=1,c=2, +// Execute callback after mainscript has been loaded and before the initialization occurs +o.script_loaded&&o.script_loaded(),n(),p.each(s,function(e,t){t()}))},a.src=e,document.body.appendChild(a)}return l}, +// Add :tinymce pseudo selector this will select elements that has been converted into editor instances +// it's now possible to use things like $('*:tinymce') to get all TinyMCE bound elements. +p.extend(p.expr[":"],{tinymce:function(e){var t;return!!(e.id&&"tinymce"in d&&(t=v().get(e.id))&&t.editorManager===v())}}); +// This function patches internal jQuery functions so that if +// you for example remove an div element containing an editor it's +// automatically destroyed by the TinyMCE API +var m=function(){function r(e){ +// If the function is remove +"remove"===e&&this.each(function(e,t){var n=u(t);n&&n.remove()}),this.find("span.mceEditor,div.mceEditor").each(function(e,t){var n=v().get(t.id.replace(/_parent$/,""));n&&n.remove()})}function o(i){var e,t=this; +// Handle set value +/*jshint eqnull:true */if(null!=i)r.call(t), +// Saves the contents before get/set value of textarea/div +t.each(function(e,t){var n;(n=v().get(t.id))&&n.setContent(i)});else if(0])*>/g,""):n.getContent({save:!0}):a.apply(p(t),r)}),i}}), +// Makes it possible to use $('#id').append("content"); to append contents to the TinyMCE editor iframe +p.each(["append","prepend"],function(e,t){var n=s[t]=p.fn[t],r="prepend"===t;p.fn[t]=function(i){var e=this;return l(e)?i!==f?("string"==typeof i&&e.filter(":tinymce").each(function(e,t){var n=u(t);n&&n.setContent(r?i+n.getContent():n.getContent()+i)}),n.apply(e.not(":tinymce"),arguments),e):void 0:n.apply(e,arguments)}}), +// Makes sure that the editor instance gets properly destroyed when the parent element is removed +p.each(["remove","replaceWith","replaceAll","empty"],function(e,t){var n=s[t]=p.fn[t];p.fn[t]=function(){return r.call(this,t),n.apply(this,arguments)}}),s.attr=p.fn.attr, +// Makes sure that $('#tinymce_id').attr('value') gets the editors current HTML contents +p.fn.attr=function(e,t){var n=this,i=arguments;if(!e||"value"!==e||!l(n))return s.attr.apply(n,i);if(t!==f)return o.call(n.filter(":tinymce"),t),s.attr.apply(n.not(":tinymce"),i),n;// return original set for chaining +var r=n[0],a=u(r);return a?a.getContent({save:!0}):s.attr.apply(p(r),i)}}}(); + + +/*! + * Modernizr v2.7.1 + * www.modernizr.com + * + * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton + * Available under the BSD and MIT licenses: www.modernizr.com/license/ + */ + +/* + * Modernizr tests which native CSS3 and HTML5 features are available in + * the current UA and makes the results available to you in two ways: + * as properties on a global Modernizr object, and as classes on the + * element. This information allows you to progressively enhance + * your pages with a granular level of control over the experience. + * + * Modernizr has an optional (not included) conditional resource loader + * called Modernizr.load(), based on Yepnope.js (yepnopejs.com). + * To get a build that includes Modernizr.load(), as well as choosing + * which tests to include, go to www.modernizr.com/download/ + * + * Authors Faruk Ates, Paul Irish, Alex Sexton + * Contributors Ryan Seddon, Ben Alman + */ + +window.Modernizr = (function( window, document, undefined ) { + + var version = '2.7.1', + + Modernizr = {}, + + /*>>cssclasses*/ + // option for enabling the HTML classes to be added + enableClasses = true, + /*>>cssclasses*/ + + docElement = document.documentElement, + + /** + * Create our "modernizr" element that we do most feature tests on. + */ + mod = 'modernizr', + modElem = document.createElement(mod), + mStyle = modElem.style, + + /** + * Create the input element for various Web Forms feature tests. + */ + inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ , + + /*>>smile*/ + smile = ':)', + /*>>smile*/ + + toString = {}.toString, + + // TODO :: make the prefixes more granular + /*>>prefixes*/ + // List of property values to set for css tests. See ticket #21 + prefixes = ' -webkit- -moz- -o- -ms- '.split(' '), + /*>>prefixes*/ + + /*>>domprefixes*/ + // Following spec is to expose vendor-specific style properties as: + // elem.style.WebkitBorderRadius + // and the following would be incorrect: + // elem.style.webkitBorderRadius + + // Webkit ghosts their properties in lowercase but Opera & Moz do not. + // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+ + // erik.eae.net/archives/2008/03/10/21.48.10/ + + // More here: github.com/Modernizr/Modernizr/issues/issue/21 + omPrefixes = 'Webkit Moz O ms', + + cssomPrefixes = omPrefixes.split(' '), + + domPrefixes = omPrefixes.toLowerCase().split(' '), + /*>>domprefixes*/ + + /*>>ns*/ + ns = {'svg': 'http://www.w3.org/2000/svg'}, + /*>>ns*/ + + tests = {}, + inputs = {}, + attrs = {}, + + classes = [], + + slice = classes.slice, + + featureName, // used in testing loop + + + /*>>teststyles*/ + // Inject element with style element and some CSS rules + injectElementWithStyles = function( rule, callback, nodes, testnames ) { + + var style, ret, node, docOverflow, + div = document.createElement('div'), + // After page load injecting a fake body doesn't work so check if body exists + body = document.body, + // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it. + fakeBody = body || document.createElement('body'); + + if ( parseInt(nodes, 10) ) { + // In order not to give false positives we create a node for each test + // This also allows the method to scale for unspecified uses + while ( nodes-- ) { + node = document.createElement('div'); + node.id = testnames ? testnames[nodes] : mod + (nodes + 1); + div.appendChild(node); + } + } + + // '].join(''); + div.id = mod; + // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody. + // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270 + (body ? div : fakeBody).innerHTML += style; + fakeBody.appendChild(div); + if ( !body ) { + //avoid crashing IE8, if background image is used + fakeBody.style.background = ''; + //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible + fakeBody.style.overflow = 'hidden'; + docOverflow = docElement.style.overflow; + docElement.style.overflow = 'hidden'; + docElement.appendChild(fakeBody); + } + + ret = callback(div, rule); + // If this is done after page load we don't want to remove the body so check if body exists + if ( !body ) { + fakeBody.parentNode.removeChild(fakeBody); + docElement.style.overflow = docOverflow; + } else { + div.parentNode.removeChild(div); + } + + return !!ret; + + }, + /*>>teststyles*/ + + /*>>mq*/ + // adapted from matchMedia polyfill + // by Scott Jehl and Paul Irish + // gist.github.com/786768 + testMediaQuery = function( mq ) { + + var matchMedia = window.matchMedia || window.msMatchMedia; + if ( matchMedia ) { + return matchMedia(mq).matches; + } + + var bool; + + injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) { + bool = (window.getComputedStyle ? + getComputedStyle(node, null) : + node.currentStyle)['position'] == 'absolute'; + }); + + return bool; + + }, + /*>>mq*/ + + + /*>>hasevent*/ + // + // isEventSupported determines if a given element supports the given event + // kangax.github.com/iseventsupported/ + // + // The following results are known incorrects: + // Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative + // Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333 + // ... + isEventSupported = (function() { + + var TAGNAMES = { + 'select': 'input', 'change': 'input', + 'submit': 'form', 'reset': 'form', + 'error': 'img', 'load': 'img', 'abort': 'img' + }; + + function isEventSupported( eventName, element ) { + + element = element || document.createElement(TAGNAMES[eventName] || 'div'); + eventName = 'on' + eventName; + + // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those + var isSupported = eventName in element; + + if ( !isSupported ) { + // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element + if ( !element.setAttribute ) { + element = document.createElement('div'); + } + if ( element.setAttribute && element.removeAttribute ) { + element.setAttribute(eventName, ''); + isSupported = is(element[eventName], 'function'); + + // If property was created, "remove it" (by setting value to `undefined`) + if ( !is(element[eventName], 'undefined') ) { + element[eventName] = undefined; + } + element.removeAttribute(eventName); + } + } + + element = null; + return isSupported; + } + return isEventSupported; + })(), + /*>>hasevent*/ + + // TODO :: Add flag for hasownprop ? didn't last time + + // hasOwnProperty shim by kangax needed for Safari 2.0 support + _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp; + + if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) { + hasOwnProp = function (object, property) { + return _hasOwnProperty.call(object, property); + }; + } + else { + hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ + return ((property in object) && is(object.constructor.prototype[property], 'undefined')); + }; + } + + // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js + // es5.github.com/#x15.3.4.5 + + if (!Function.prototype.bind) { + Function.prototype.bind = function bind(that) { + + var target = this; + + if (typeof target != "function") { + throw new TypeError(); + } + + var args = slice.call(arguments, 1), + bound = function () { + + if (this instanceof bound) { + + var F = function(){}; + F.prototype = target.prototype; + var self = new F(); + + var result = target.apply( + self, + args.concat(slice.call(arguments)) + ); + if (Object(result) === result) { + return result; + } + return self; + + } else { + + return target.apply( + that, + args.concat(slice.call(arguments)) + ); + + } + + }; + + return bound; + }; + } + + /** + * setCss applies given styles to the Modernizr DOM node. + */ + function setCss( str ) { + mStyle.cssText = str; + } + + /** + * setCssAll extrapolates all vendor-specific css strings. + */ + function setCssAll( str1, str2 ) { + return setCss(prefixes.join(str1 + ';') + ( str2 || '' )); + } + + /** + * is returns a boolean for if typeof obj is exactly type. + */ + function is( obj, type ) { + return typeof obj === type; + } + + /** + * contains returns a boolean for if substr is found within str. + */ + function contains( str, substr ) { + return !!~('' + str).indexOf(substr); + } + + /*>>testprop*/ + + // testProps is a generic CSS / DOM property test. + + // In testing support for a given CSS property, it's legit to test: + // `elem.style[styleName] !== undefined` + // If the property is supported it will return an empty string, + // if unsupported it will return undefined. + + // We'll take advantage of this quick test and skip setting a style + // on our modernizr element, but instead just testing undefined vs + // empty string. + + // Because the testing of the CSS property names (with "-", as + // opposed to the camelCase DOM properties) is non-portable and + // non-standard but works in WebKit and IE (but not Gecko or Opera), + // we explicitly reject properties with dashes so that authors + // developing in WebKit or IE first don't end up with + // browser-specific content by accident. + + function testProps( props, prefixed ) { + for ( var i in props ) { + var prop = props[i]; + if ( !contains(prop, "-") && mStyle[prop] !== undefined ) { + return prefixed == 'pfx' ? prop : true; + } + } + return false; + } + /*>>testprop*/ + + // TODO :: add testDOMProps + /** + * testDOMProps is a generic DOM property test; if a browser supports + * a certain property, it won't return undefined for it. + */ + function testDOMProps( props, obj, elem ) { + for ( var i in props ) { + var item = obj[props[i]]; + if ( item !== undefined) { + + // return the property name as a string + if (elem === false) return props[i]; + + // let's bind a function + if (is(item, 'function')){ + // default to autobind unless override + return item.bind(elem || obj); + } + + // return the unbound function or obj or value + return item; + } + } + return false; + } + + /*>>testallprops*/ + /** + * testPropsAll tests a list of DOM properties we want to check against. + * We specify literally ALL possible (known and/or likely) properties on + * the element including the non-vendor prefixed one, for forward- + * compatibility. + */ + function testPropsAll( prop, prefixed, elem ) { + + var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1), + props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' '); + + // did they call .prefixed('boxSizing') or are we just testing a prop? + if(is(prefixed, "string") || is(prefixed, "undefined")) { + return testProps(props, prefixed); + + // otherwise, they called .prefixed('requestAnimationFrame', window[, elem]) + } else { + props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' '); + return testDOMProps(props, prefixed, elem); + } + } + /*>>testallprops*/ + + + /** + * Tests + * ----- + */ + + // The *new* flexbox + // dev.w3.org/csswg/css3-flexbox + + tests['flexbox'] = function() { + return testPropsAll('flexWrap'); + }; + + // The *old* flexbox + // www.w3.org/TR/2009/WD-css3-flexbox-20090723/ + + tests['flexboxlegacy'] = function() { + return testPropsAll('boxDirection'); + }; + + // On the S60 and BB Storm, getContext exists, but always returns undefined + // so we actually have to call getContext() to verify + // github.com/Modernizr/Modernizr/issues/issue/97/ + + tests['canvas'] = function() { + var elem = document.createElement('canvas'); + return !!(elem.getContext && elem.getContext('2d')); + }; + + tests['canvastext'] = function() { + return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function')); + }; + + // webk.it/70117 is tracking a legit WebGL feature detect proposal + + // We do a soft detect which may false positive in order to avoid + // an expensive context creation: bugzil.la/732441 + + tests['webgl'] = function() { + return !!window.WebGLRenderingContext; + }; + + /* + * The Modernizr.touch test only indicates if the browser supports + * touch events, which does not necessarily reflect a touchscreen + * device, as evidenced by tablets running Windows 7 or, alas, + * the Palm Pre / WebOS (touch) phones. + * + * Additionally, Chrome (desktop) used to lie about its support on this, + * but that has since been rectified: crbug.com/36415 + * + * We also test for Firefox 4 Multitouch Support. + * + * For more info, see: modernizr.github.com/Modernizr/touch.html + */ + + tests['touch'] = function() { + var bool; + + if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) { + bool = true; + } else { + injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) { + bool = node.offsetTop === 9; + }); + } + + return bool; + }; + + + // geolocation is often considered a trivial feature detect... + // Turns out, it's quite tricky to get right: + // + // Using !!navigator.geolocation does two things we don't want. It: + // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513 + // 2. Disables page caching in WebKit: webk.it/43956 + // + // Meanwhile, in Firefox < 8, an about:config setting could expose + // a false positive that would throw an exception: bugzil.la/688158 + + tests['geolocation'] = function() { + return 'geolocation' in navigator; + }; + + + tests['postmessage'] = function() { + return !!window.postMessage; + }; + + + // Chrome incognito mode used to throw an exception when using openDatabase + // It doesn't anymore. + tests['websqldatabase'] = function() { + return !!window.openDatabase; + }; + + // Vendors had inconsistent prefixing with the experimental Indexed DB: + // - Webkit's implementation is accessible through webkitIndexedDB + // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB + // For speed, we don't test the legacy (and beta-only) indexedDB + tests['indexedDB'] = function() { + return !!testPropsAll("indexedDB", window); + }; + + // documentMode logic from YUI to filter out IE8 Compat Mode + // which false positives. + tests['hashchange'] = function() { + return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7); + }; + + // Per 1.6: + // This used to be Modernizr.historymanagement but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['history'] = function() { + return !!(window.history && history.pushState); + }; + + tests['draganddrop'] = function() { + var div = document.createElement('div'); + return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div); + }; + + // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10 + // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17. + // FF10 still uses prefixes, so check for it until then. + // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/ + tests['websockets'] = function() { + return 'WebSocket' in window || 'MozWebSocket' in window; + }; + + + // css-tricks.com/rgba-browser-support/ + tests['rgba'] = function() { + // Set an rgba() color and check the returned value + + setCss('background-color:rgba(150,255,150,.5)'); + + return contains(mStyle.backgroundColor, 'rgba'); + }; + + tests['hsla'] = function() { + // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, + // except IE9 who retains it as hsla + + setCss('background-color:hsla(120,40%,100%,.5)'); + + return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla'); + }; + + tests['multiplebgs'] = function() { + // Setting multiple images AND a color on the background shorthand property + // and then querying the style.background property value for the number of + // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! + + setCss('background:url(https://),url(https://),red url(https://)'); + + // If the UA supports multiple backgrounds, there should be three occurrences + // of the string "url(" in the return value for elemStyle.background + + return (/(url\s*\(.*?){3}/).test(mStyle.background); + }; + + + + // this will false positive in Opera Mini + // github.com/Modernizr/Modernizr/issues/396 + + tests['backgroundsize'] = function() { + return testPropsAll('backgroundSize'); + }; + + tests['borderimage'] = function() { + return testPropsAll('borderImage'); + }; + + + // Super comprehensive table about all the unique implementations of + // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance + + tests['borderradius'] = function() { + return testPropsAll('borderRadius'); + }; + + // WebOS unfortunately false positives on this test. + tests['boxshadow'] = function() { + return testPropsAll('boxShadow'); + }; + + // FF3.0 will false positive on this test + tests['textshadow'] = function() { + return document.createElement('div').style.textShadow === ''; + }; + + + tests['opacity'] = function() { + // Browsers that actually have CSS Opacity implemented have done so + // according to spec, which means their return values are within the + // range of [0.0,1.0] - including the leading zero. + + setCssAll('opacity:.55'); + + // The non-literal . in this regex is intentional: + // German Chrome returns this value as 0,55 + // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 + return (/^0.55$/).test(mStyle.opacity); + }; + + + // Note, Android < 4 will pass this test, but can only animate + // a single property at a time + // daneden.me/2011/12/putting-up-with-androids-bullshit/ + tests['cssanimations'] = function() { + return testPropsAll('animationName'); + }; + + + tests['csscolumns'] = function() { + return testPropsAll('columnCount'); + }; + + + tests['cssgradients'] = function() { + /** + * For CSS Gradients syntax, please see: + * webkit.org/blog/175/introducing-css-gradients/ + * developer.mozilla.org/en/CSS/-moz-linear-gradient + * developer.mozilla.org/en/CSS/-moz-radial-gradient + * dev.w3.org/csswg/css3-images/#gradients- + */ + + var str1 = 'background-image:', + str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', + str3 = 'linear-gradient(left top,#9f9, white);'; + + setCss( + // legacy webkit syntax (FIXME: remove when syntax not in use anymore) + (str1 + '-webkit- '.split(' ').join(str2 + str1) + + // standard syntax // trailing 'background-image:' + prefixes.join(str3 + str1)).slice(0, -str1.length) + ); + + return contains(mStyle.backgroundImage, 'gradient'); + }; + + + tests['cssreflections'] = function() { + return testPropsAll('boxReflect'); + }; + + + tests['csstransforms'] = function() { + return !!testPropsAll('transform'); + }; + + + tests['csstransforms3d'] = function() { + + var ret = !!testPropsAll('perspective'); + + // Webkit's 3D transforms are passed off to the browser's own graphics renderer. + // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in + // some conditions. As a result, Webkit typically recognizes the syntax but + // will sometimes throw a false positive, thus we must do a more thorough check: + if ( ret && 'webkitPerspective' in docElement.style ) { + + // Webkit allows this media query to succeed only if the feature is enabled. + // `@media (transform-3d),(-webkit-transform-3d){ ... }` + injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) { + ret = node.offsetLeft === 9 && node.offsetHeight === 3; + }); + } + return ret; + }; + + + tests['csstransitions'] = function() { + return testPropsAll('transition'); + }; + + + /*>>fontface*/ + // @font-face detection routine by Diego Perini + // javascript.nwbox.com/CSSSupport/ + + // false positives: + // WebOS github.com/Modernizr/Modernizr/issues/342 + // WP7 github.com/Modernizr/Modernizr/issues/538 + tests['fontface'] = function() { + var bool; + + injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) { + var style = document.getElementById('smodernizr'), + sheet = style.sheet || style.styleSheet, + cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : ''; + + bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0; + }); + + return bool; + }; + /*>>fontface*/ + + // CSS generated content detection + tests['generatedcontent'] = function() { + var bool; + + injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) { + bool = node.offsetHeight >= 3; + }); + + return bool; + }; + + + + // These tests evaluate support of the video/audio elements, as well as + // testing what types of content they support. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.video // true + // Modernizr.video.ogg // 'probably' + // + // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in some older browsers, "no" was a return value instead of empty string. + // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2 + // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5 + + tests['video'] = function() { + var elem = document.createElement('video'), + bool = false; + + // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224 + try { + if ( bool = !!elem.canPlayType ) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,''); + + // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546 + bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,''); + + bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,''); + } + + } catch(e) { } + + return bool; + }; + + tests['audio'] = function() { + var elem = document.createElement('audio'), + bool = false; + + try { + if ( bool = !!elem.canPlayType ) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,''); + bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,''); + + // Mimetypes accepted: + // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,''); + bool.m4a = ( elem.canPlayType('audio/x-m4a;') || + elem.canPlayType('audio/aac;')) .replace(/^no$/,''); + } + } catch(e) { } + + return bool; + }; + + + // In FF4, if disabled, window.localStorage should === null. + + // Normally, we could not test that directly and need to do a + // `('localStorage' in window) && ` test first because otherwise Firefox will + // throw bugzil.la/365772 if cookies are disabled + + // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem + // will throw the exception: + // QUOTA_EXCEEDED_ERRROR DOM Exception 22. + // Peculiarly, getItem and removeItem calls do not throw. + + // Because we are forced to try/catch this, we'll go aggressive. + + // Just FWIW: IE8 Compat mode supports these features completely: + // www.quirksmode.org/dom/html5.html + // But IE8 doesn't support either with local files + + tests['localstorage'] = function() { + try { + localStorage.setItem(mod, mod); + localStorage.removeItem(mod); + return true; + } catch(e) { + return false; + } + }; + + tests['sessionstorage'] = function() { + try { + sessionStorage.setItem(mod, mod); + sessionStorage.removeItem(mod); + return true; + } catch(e) { + return false; + } + }; + + + tests['webworkers'] = function() { + return !!window.Worker; + }; + + + tests['applicationcache'] = function() { + return !!window.applicationCache; + }; + + + // Thanks to Erik Dahlstrom + tests['svg'] = function() { + return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect; + }; + + // specifically for SVG inline in HTML, not within XHTML + // test page: paulirish.com/demo/inline-svg + tests['inlinesvg'] = function() { + var div = document.createElement('div'); + div.innerHTML = ''; + return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; + }; + + // SVG SMIL animation + tests['smil'] = function() { + return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate'))); + }; + + // This test is only for clip paths in SVG proper, not clip paths on HTML content + // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg + + // However read the comments to dig into applying SVG clippaths to HTML content here: + // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491 + tests['svgclippaths'] = function() { + return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath'))); + }; + + /*>>webforms*/ + // input features and input types go directly onto the ret object, bypassing the tests loop. + // Hold this guy to execute in a moment. + function webforms() { + /*>>input*/ + // Run through HTML5's new input attributes to see if the UA understands any. + // We're using f which is the element created early on + // Mike Taylr has created a comprehensive resource for testing these attributes + // when applied to all input types: + // miketaylr.com/code/input-type-attr.html + // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + + // Only input placeholder is tested while textarea's placeholder is not. + // Currently Safari 4 and Opera 11 have support only for the input placeholder + // Both tests are available in feature-detects/forms-placeholder.js + Modernizr['input'] = (function( props ) { + for ( var i = 0, len = props.length; i < len; i++ ) { + attrs[ props[i] ] = !!(props[i] in inputElem); + } + if (attrs.list){ + // safari false positive's on datalist: webk.it/74252 + // see also github.com/Modernizr/Modernizr/issues/146 + attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement); + } + return attrs; + })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' ')); + /*>>input*/ + + /*>>inputtypes*/ + // Run through HTML5's new input types to see if the UA understands any. + // This is put behind the tests runloop because it doesn't return a + // true/false like all the other tests; instead, it returns an object + // containing each input type with its corresponding true/false value + + // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/ + Modernizr['inputtypes'] = (function(props) { + + for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) { + + inputElem.setAttribute('type', inputElemType = props[i]); + bool = inputElem.type !== 'text'; + + // We first check to see if the type we give it sticks.. + // If the type does, we feed it a textual value, which shouldn't be valid. + // If the value doesn't stick, we know there's input sanitization which infers a custom UI + if ( bool ) { + + inputElem.value = smile; + inputElem.style.cssText = 'position:absolute;visibility:hidden;'; + + if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) { + + docElement.appendChild(inputElem); + defaultView = document.defaultView; + + // Safari 2-4 allows the smiley as a value, despite making a slider + bool = defaultView.getComputedStyle && + defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' && + // Mobile android web browser has false positive, so must + // check the height to see if the widget is actually there. + (inputElem.offsetHeight !== 0); + + docElement.removeChild(inputElem); + + } else if ( /^(search|tel)$/.test(inputElemType) ){ + // Spec doesn't define any special parsing or detectable UI + // behaviors so we pass these through as true + + // Interestingly, opera fails the earlier test, so it doesn't + // even make it here. + + } else if ( /^(url|email)$/.test(inputElemType) ) { + // Real url and email support comes with prebaked validation. + bool = inputElem.checkValidity && inputElem.checkValidity() === false; + + } else { + // If the upgraded input compontent rejects the :) text, we got a winner + bool = inputElem.value != smile; + } + } + + inputs[ props[i] ] = !!bool; + } + return inputs; + })('search tel url email datetime date month week time datetime-local number range color'.split(' ')); + /*>>inputtypes*/ + } + /*>>webforms*/ + + + // End of test definitions + // ----------------------- + + + + // Run through all tests and detect their support in the current UA. + // todo: hypothetically we could be doing an array of tests and use a basic loop here. + for ( var feature in tests ) { + if ( hasOwnProp(tests, feature) ) { + // run the test, throw the return value into the Modernizr, + // then based on that boolean, define an appropriate className + // and push it into an array of classes we'll join later. + featureName = feature.toLowerCase(); + Modernizr[featureName] = tests[feature](); + + classes.push((Modernizr[featureName] ? '' : 'no-') + featureName); + } + } + + /*>>webforms*/ + // input tests need to run. + Modernizr.input || webforms(); + /*>>webforms*/ + + + /** + * addTest allows the user to define their own feature tests + * the result will be added onto the Modernizr object, + * as well as an appropriate className set on the html element + * + * @param feature - String naming the feature + * @param test - Function returning true if feature is supported, false if not + */ + Modernizr.addTest = function ( feature, test ) { + if ( typeof feature == 'object' ) { + for ( var key in feature ) { + if ( hasOwnProp( feature, key ) ) { + Modernizr.addTest( key, feature[ key ] ); + } + } + } else { + + feature = feature.toLowerCase(); + + if ( Modernizr[feature] !== undefined ) { + // we're going to quit if you're trying to overwrite an existing test + // if we were to allow it, we'd do this: + // var re = new RegExp("\\b(no-)?" + feature + "\\b"); + // docElement.className = docElement.className.replace( re, '' ); + // but, no rly, stuff 'em. + return Modernizr; + } + + test = typeof test == 'function' ? test() : test; + + if (typeof enableClasses !== "undefined" && enableClasses) { + docElement.className += ' ' + (test ? '' : 'no-') + feature; + } + Modernizr[feature] = test; + + } + + return Modernizr; // allow chaining. + }; + + + // Reset modElem.cssText to nothing to reduce memory footprint. + setCss(''); + modElem = inputElem = null; + + /*>>shiv*/ + /** + * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed + */ + ;(function(window, document) { + /*jshint evil:true */ + /** version */ + var version = '3.7.0'; + + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = ''; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + // assign a false positive if detection fails => unable to shiv + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i>shiv*/ + + // Assign private properties to the return object with prefix + Modernizr._version = version; + + // expose these for the plugin API. Look in the source for how to join() them against your input + /*>>prefixes*/ + Modernizr._prefixes = prefixes; + /*>>prefixes*/ + /*>>domprefixes*/ + Modernizr._domPrefixes = domPrefixes; + Modernizr._cssomPrefixes = cssomPrefixes; + /*>>domprefixes*/ + + /*>>mq*/ + // Modernizr.mq tests a given media query, live against the current state of the window + // A few important notes: + // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false + // * A max-width or orientation query will be evaluated against the current state, which may change later. + // * You must specify values. Eg. If you are testing support for the min-width media query use: + // Modernizr.mq('(min-width:0)') + // usage: + // Modernizr.mq('only screen and (max-width:768)') + Modernizr.mq = testMediaQuery; + /*>>mq*/ + + /*>>hasevent*/ + // Modernizr.hasEvent() detects support for a given event, with an optional element to test on + // Modernizr.hasEvent('gesturestart', elem) + Modernizr.hasEvent = isEventSupported; + /*>>hasevent*/ + + /*>>testprop*/ + // Modernizr.testProp() investigates whether a given style property is recognized + // Note that the property names must be provided in the camelCase variant. + // Modernizr.testProp('pointerEvents') + Modernizr.testProp = function(prop){ + return testProps([prop]); + }; + /*>>testprop*/ + + /*>>testallprops*/ + // Modernizr.testAllProps() investigates whether a given style property, + // or any of its vendor-prefixed variants, is recognized + // Note that the property names must be provided in the camelCase variant. + // Modernizr.testAllProps('boxSizing') + Modernizr.testAllProps = testPropsAll; + /*>>testallprops*/ + + + /*>>teststyles*/ + // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards + // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... }) + Modernizr.testStyles = injectElementWithStyles; + /*>>teststyles*/ + + + /*>>prefixed*/ + // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input + // Modernizr.prefixed('boxSizing') // 'MozBoxSizing' + + // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style. + // Return values will also be the camelCase variant, if you need to translate that to hypenated style use: + // + // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-'); + + // If you're trying to ascertain which transition end event to bind to, you might do something like... + // + // var transEndEventNames = { + // 'WebkitTransition' : 'webkitTransitionEnd', + // 'MozTransition' : 'transitionend', + // 'OTransition' : 'oTransitionEnd', + // 'msTransition' : 'MSTransitionEnd', + // 'transition' : 'transitionend' + // }, + // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ]; + + Modernizr.prefixed = function(prop, obj, elem){ + if(!obj) { + return testPropsAll(prop, 'pfx'); + } else { + // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame' + return testPropsAll(prop, obj, elem); + } + }; + /*>>prefixed*/ + + + /*>>cssclasses*/ + // Remove "no-js" class from element, if it exists: + docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') + + + // Add the new classes to the element. + (enableClasses ? ' js ' + classes.join(' ') : ''); + /*>>cssclasses*/ + + return Modernizr; + +})(this, this.document); +/* @preserve + * Leaflet 1.5.1, a JS library for interactive maps. http://leafletjs.com + * (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */ +!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.L={})}(this,function(t){"use strict";var i=Object.freeze;function h(t){var i,e,n,o;for(e=1,n=arguments.length;e=this.min.x&&e.x<=this.max.x&&i.y>=this.min.y&&e.y<=this.max.y},intersects:function(t){t=R(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x<=e.x,r=o.y>=i.y&&n.y<=e.y;return s&&r},overlaps:function(t){t=R(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.xi.y&&n.y=n.lat&&e.lat<=o.lat&&i.lng>=n.lng&&e.lng<=o.lng},intersects:function(t){t=D(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat<=e.lat,r=o.lng>=i.lng&&n.lng<=e.lng;return s&&r},overlaps:function(t){t=D(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lati.lng&&n.lng';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}();function kt(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var Bt=(Object.freeze||Object)({ie:it,ielt9:et,edge:nt,webkit:ot,android:st,android23:rt,androidStock:ht,opera:ut,chrome:lt,gecko:ct,safari:_t,phantom:dt,opera12:pt,win:mt,ie3d:ft,webkit3d:gt,gecko3d:vt,any3d:yt,mobile:xt,mobileWebkit:wt,mobileWebkit3d:Pt,msPointer:Lt,pointer:bt,touch:Tt,mobileOpera:zt,mobileGecko:Mt,retina:Ct,canvas:St,svg:Zt,vml:Et}),At=Lt?"MSPointerDown":"pointerdown",It=Lt?"MSPointerMove":"pointermove",Ot=Lt?"MSPointerUp":"pointerup",Rt=Lt?"MSPointerCancel":"pointercancel",Nt=["INPUT","SELECT","OPTION"],Dt={},jt=!1,Wt=0;function Ht(t,i,e,n){return"touchstart"===i?function(t,i,e){var n=a(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(Nt.indexOf(t.target.tagName)<0))return;Di(t)}qt(t,i)});t["_leaflet_touchstart"+e]=n,t.addEventListener(At,n,!1),jt||(document.documentElement.addEventListener(At,Ft,!0),document.documentElement.addEventListener(It,Ut,!0),document.documentElement.addEventListener(Ot,Vt,!0),document.documentElement.addEventListener(Rt,Vt,!0),jt=!0)}(t,e,n):"touchmove"===i?function(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&qt(t,i)};t["_leaflet_touchmove"+e]=n,t.addEventListener(It,n,!1)}(t,e,n):"touchend"===i&&function(t,i,e){var n=function(t){qt(t,i)};t["_leaflet_touchend"+e]=n,t.addEventListener(Ot,n,!1),t.addEventListener(Rt,n,!1)}(t,e,n),this}function Ft(t){Dt[t.pointerId]=t,Wt++}function Ut(t){Dt[t.pointerId]&&(Dt[t.pointerId]=t)}function Vt(t){delete Dt[t.pointerId],Wt--}function qt(t,i){for(var e in t.touches=[],Dt)t.touches.push(Dt[e]);t.changedTouches=[t],i(t)}var Gt=Lt?"MSPointerDown":bt?"pointerdown":"touchstart",Kt=Lt?"MSPointerUp":bt?"pointerup":"touchend",Yt="_leaflet_";function Xt(t,o,i){var s,r,a=!1;function e(t){var i;if(bt){if(!nt||"mouse"===t.pointerType)return;i=Wt}else i=t.touches.length;if(!(1this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,D(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},panInside:function(t,i){var e=I((i=i||{}).paddingTopLeft||i.padding||[0,0]),n=I(i.paddingBottomRight||i.padding||[0,0]),o=this.getCenter(),s=this.project(o),r=this.project(t),a=this.getPixelBounds(),h=a.getSize().divideBy(2),u=R([a.min.add(e),a.max.subtract(n)]);if(!u.contains(r)){this._enforcingBounds=!0;var l=s.subtract(r),c=I(r.x+l.x,r.y+l.y);(r.xu.max.x)&&(c.x=s.x-l.x,0u.max.y)&&(c.y=s.y-l.y,0=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,n=[],o="mouseout"===i||"mouseover"===i,s=t.target||t.srcElement,r=!1;s;){if((e=this._targets[u(s)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){r=!0;break}if(e&&e.listens(i,!0)){if(o&&!Ki(s,t))break;if(n.push(e),o)break}if(s===this._container)break;s=s.parentNode}return n.length||r||o||!Ki(s,t)||(n=[this]),n},_handleDOMEvent:function(t){if(this._loaded&&!Gi(t)){var i=t.type;"mousedown"!==i&&"keypress"!==i&&"keyup"!==i&&"keydown"!==i||zi(t.target||t.srcElement),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,e){if("click"===t.type){var n=h({},t);n.type="preclick",this._fireDOMEvent(n,n.type,e)}if(!t._stopped&&(e=(e||[]).concat(this._findEventTargets(t,i))).length){var o=e[0];"contextmenu"===i&&o.listens(i,!0)&&Di(t);var s={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var r=o.getLatLng&&(!o._radius||o._radius<=10);s.containerPoint=r?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),s.layerPoint=this.containerPointToLayerPoint(s.containerPoint),s.latlng=r?o.getLatLng():this.layerPointToLatLng(s.layerPoint)}for(var a=0;athis.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(M(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,e,n){this._mapPane&&(e&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,pi(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:n}),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&mi(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),M(function(){this._moveEnd(!0)},this))}});function $i(t){return new Qi(t)}var Qi=Z.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return pi(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(ui(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0",n=document.createElement("div");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=n):i=this._createRadioElement("leaflet-base-layers_"+u(this),n),this._layerControlInputs.push(i),i.layerId=u(t.layer),Ei(i,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("div");return e.appendChild(s),s.appendChild(i),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;0<=s;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;si.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),ie=Qi.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"−",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=hi("div",i+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+"-in",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+"-out",e,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),e},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=hi("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),Ni(s),Ei(s,"click",ji),Ei(s,"click",o,this),Ei(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";mi(this._zoomInButton,i),mi(this._zoomOutButton,i),!this._disabled&&t._zoom!==t.getMinZoom()||pi(this._zoomOutButton,i),!this._disabled&&t._zoom!==t.getMaxZoom()||pi(this._zoomInButton,i)}});Ji.mergeOptions({zoomControl:!0}),Ji.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new ie,this.addControl(this.zoomControl))});var ee=Qi.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i="leaflet-control-scale",e=hi("div",i),n=this.options;return this._addScales(n,i+"-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=hi("div",i,e)),t.imperial&&(this._iScale=hi("div",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;5280Leaflet'},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var i in(t.attributionControl=this)._container=hi("div","leaflet-control-attribution"),Ni(this._container),t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(", ")),this._container.innerHTML=e.join(" | ")}}});Ji.mergeOptions({attributionControl:!0}),Ji.addInitHook(function(){this.options.attributionControl&&(new ne).addTo(this)});Qi.Layers=te,Qi.Zoom=ie,Qi.Scale=ee,Qi.Attribution=ne,$i.layers=function(t,i,e){return new te(t,i,e)},$i.zoom=function(t){return new ie(t)},$i.scale=function(t){return new ee(t)},$i.attribution=function(t){return new ne(t)};var oe=Z.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}});oe.addTo=function(t,i){return t.addHandler(i,this),this};var se,re={Events:E},ae=Tt?"touchstart mousedown":"mousedown",he={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},ue={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},le=k.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){p(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(Ei(this._dragStartTarget,ae,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(le._dragging===this&&this.finishDrag(),Bi(this._dragStartTarget,ae,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!di(this._element,"leaflet-zoom-anim")&&!(le._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((le._dragging=this)._preventOutline&&zi(this._element),bi(),$t(),this._moving)))){this.fire("down");var i=t.touches?t.touches[0]:t,e=Ci(this._element);this._startPoint=new B(i.clientX,i.clientY),this._parentScale=Si(e),Ei(document,ue[t.type],this._onMove,this),Ei(document,he[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&1i.max.x&&(e|=2),t.yi.max.y&&(e|=8),e}function fe(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return 0this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()t.y!=n.y>t.y&&t.x<(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||De.prototype._containsPoint.call(this,t,!0)}});var We=Ee.extend({initialize:function(t,i){p(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=v(t)?t:t.features;if(o){for(i=0,e=o.length;iu.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),ji(t)},_getAnchor:function(){return I(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Ji.mergeOptions({closePopupOnClick:!0}),Ji.include({openPopup:function(t,i,e){return t instanceof nn||(t=new nn(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Se.include({bindPopup:function(t,i){return t instanceof nn?(p(t,i),(this._popup=t)._source=this):(this._popup&&!i||(this._popup=new nn(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){return this._popup&&this._map&&(i=this._popup._prepareOpen(this,t,i),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(ji(t),i instanceof Oe?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var on=en.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){en.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){en.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=en.prototype.getEvents.call(this);return Tt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=hi("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i=this._map,e=this._container,n=i.latLngToContainerPoint(i.getCenter()),o=i.layerPointToContainerPoint(t),s=this.options.direction,r=e.offsetWidth,a=e.offsetHeight,h=I(this.options.offset),u=this._getAnchor();t="top"===s?t.add(I(-r/2+h.x,-a+h.y+u.y,!0)):"bottom"===s?t.subtract(I(r/2-h.x,-h.y,!0)):"center"===s?t.subtract(I(r/2+h.x,a/2-u.y+h.y,!0)):"right"===s||"auto"===s&&o.xthis.options.maxZoom||ethis.options.maxZoom||void 0!==this.options.minZoom&&oe.max.x)||!i.wrapLat&&(t.ye.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return D(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e);return[i.unproject(n,t.z),i.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),e=new N(i[0],i[1]);return this.options.noWrap||(e=this._map.wrapLatLngBounds(e)),e},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),e=new B(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(ui(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){pi(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=l,t.onmousemove=l,et&&this.options.opacity<1&&vi(t,this.options.opacity),st&&!rt&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var e=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&M(a(this._tileReady,this,t,null,o)),wi(o,e),this._tiles[n]={el:o,coords:t,current:!0},i.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,i,e){i&&this.fire("tileerror",{error:i,tile:e,coords:t});var n=this._tileCoordsToKey(t);(e=this._tiles[n])&&(e.loaded=+new Date,this._map._fadeAnimated?(vi(e.el,0),C(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this)):(e.active=!0,this._pruneTiles()),i||(pi(e.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:e.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),et||!this._map._fadeAnimated?M(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new B(this._wrapX?r(t.x,this._wrapX):t.x,this._wrapY?r(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new O(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var an=rn.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=p(this,i)).detectRetina&&Ct&&0')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),pn={_initContainer:function(){this._container=hi("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(ln.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=dn("shape");pi(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=dn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[u(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;ui(i),t.removeInteractiveTarget(i),delete this._layers[u(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i||(i=t._stroke=dn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=v(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=n.lineCap.replace("butt","flat"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e||(e=t._fill=dn("fill")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+e+","+n+" 0,23592600")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){ci(t._container)},_bringToBack:function(t){_i(t._container)}},mn=Et?dn:$,fn=ln.extend({getEvents:function(){var t=ln.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=mn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=mn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ui(this._container),Bi(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){ln.prototype._update.call(this);var t=this._bounds,i=t.getSize(),e=this._container;this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute("width",i.x),e.setAttribute("height",i.y)),wi(e,t.min),e.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update")}},_initPath:function(t){var i=t._path=mn("path");t.options.className&&pi(i,t.options.className),t.options.interactive&&pi(i,"leaflet-interactive"),this._updateStyle(t),this._layers[u(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ui(t._path),t.removeInteractiveTarget(t._path),delete this._layers[u(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute("stroke",e.color),i.setAttribute("stroke-opacity",e.opacity),i.setAttribute("stroke-width",e.weight),i.setAttribute("stroke-linecap",e.lineCap),i.setAttribute("stroke-linejoin",e.lineJoin),e.dashArray?i.setAttribute("stroke-dasharray",e.dashArray):i.removeAttribute("stroke-dasharray"),e.dashOffset?i.setAttribute("stroke-dashoffset",e.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),e.fill?(i.setAttribute("fill",e.fillColor||e.color),i.setAttribute("fill-opacity",e.fillOpacity),i.setAttribute("fill-rule",e.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,Q(t._parts,i))},_updateCircle:function(t){var i=t._point,e=Math.max(Math.round(t._radius),1),n="a"+e+","+(Math.max(Math.round(t._radiusY),1)||e)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(i.x-e)+","+i.y+n+2*e+",0 "+n+2*-e+",0 ";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){ci(t._path)},_bringToBack:function(t){_i(t._path)}});function gn(t){return Zt||Et?new fn(t):null}Et&&fn.include(pn),Ji.include({getRenderer:function(t){var i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return i||(i=this._renderer=this._createRenderer()),this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=this._createRenderer({pane:t}),this._paneRenderers[t]=i),i},_createRenderer:function(t){return this.options.preferCanvas&&_n(t)||gn(t)}});var vn=je.extend({initialize:function(t,i){je.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=D(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});fn.create=mn,fn.pointsToPath=Q,We.geometryToLayer=He,We.coordsToLatLng=Fe,We.coordsToLatLngs=Ue,We.latLngToCoords=Ve,We.latLngsToCoords=qe,We.getFeature=Ge,We.asFeature=Ke,Ji.mergeOptions({boxZoom:!0});var yn=oe.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Ei(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Bi(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ui(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),$t(),bi(),this._startPoint=this._map.mouseEventToContainerPoint(t),Ei(document,{contextmenu:ji,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=hi("div","leaflet-zoom-box",this._container),pi(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new O(this._point,this._startPoint),e=i.getSize();wi(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(ui(this._box),mi(this._container,"leaflet-crosshair")),Qt(),Ti(),Bi(document,{contextmenu:ji,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var i=new N(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});Ji.addInitHook("addHandler","boxZoom",yn),Ji.mergeOptions({doubleClickZoom:!0});var xn=oe.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;"center"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});Ji.addInitHook("addHandler","doubleClickZoom",xn),Ji.mergeOptions({dragging:!0,inertia:!rt,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var wn=oe.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new le(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}pi(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mi(this._map._container,"leaflet-grab"),mi(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=D(this._map.options.maxBounds);this._offsetLimit=R(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(e),this._times.push(i),this._prunePositions(i)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1i.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)i.getMaxZoom()&&1= currentZoom) { + visibleLayer = visibleLayer.__parent; + } + } + + if (this._currentShownBounds.contains(visibleLayer.getLatLng())) { + if (this.options.animateAddingMarkers) { + this._animationAddLayer(layer, visibleLayer); + } else { + this._animationAddLayerNonAnimated(layer, visibleLayer); + } + } + return this; + }, + + removeLayer: function (layer) { + + if (layer instanceof L.LayerGroup) { + return this.removeLayers([layer]); + } + + //Non point layers + if (!layer.getLatLng) { + this._nonPointGroup.removeLayer(layer); + this.fire('layerremove', { layer: layer }); + return this; + } + + if (!this._map) { + if (!this._arraySplice(this._needsClustering, layer) && this.hasLayer(layer)) { + this._needsRemoving.push({ layer: layer, latlng: layer._latlng }); + } + this.fire('layerremove', { layer: layer }); + return this; + } + + if (!layer.__parent) { + return this; + } + + if (this._unspiderfy) { + this._unspiderfy(); + this._unspiderfyLayer(layer); + } + + //Remove the marker from clusters + this._removeLayer(layer, true); + this.fire('layerremove', { layer: layer }); + + // Refresh bounds and weighted positions. + this._topClusterLevel._recalculateBounds(); + + this._refreshClustersIcons(); + + layer.off(this._childMarkerEventHandlers, this); + + if (this._featureGroup.hasLayer(layer)) { + this._featureGroup.removeLayer(layer); + if (layer.clusterShow) { + layer.clusterShow(); + } + } + + return this; + }, + + //Takes an array of markers and adds them in bulk + addLayers: function (layersArray, skipLayerAddEvent) { + if (!L.Util.isArray(layersArray)) { + return this.addLayer(layersArray); + } + + var fg = this._featureGroup, + npg = this._nonPointGroup, + chunked = this.options.chunkedLoading, + chunkInterval = this.options.chunkInterval, + chunkProgress = this.options.chunkProgress, + l = layersArray.length, + offset = 0, + originalArray = true, + m; + + if (this._map) { + var started = (new Date()).getTime(); + var process = L.bind(function () { + var start = (new Date()).getTime(); + for (; offset < l; offset++) { + if (chunked && offset % 200 === 0) { + // every couple hundred markers, instrument the time elapsed since processing started: + var elapsed = (new Date()).getTime() - start; + if (elapsed > chunkInterval) { + break; // been working too hard, time to take a break :-) + } + } + + m = layersArray[offset]; + + // Group of layers, append children to layersArray and skip. + // Side effects: + // - Total increases, so chunkProgress ratio jumps backward. + // - Groups are not included in this group, only their non-group child layers (hasLayer). + // Changing array length while looping does not affect performance in current browsers: + // http://jsperf.com/for-loop-changing-length/6 + if (m instanceof L.LayerGroup) { + if (originalArray) { + layersArray = layersArray.slice(); + originalArray = false; + } + this._extractNonGroupLayers(m, layersArray); + l = layersArray.length; + continue; + } + + //Not point data, can't be clustered + if (!m.getLatLng) { + npg.addLayer(m); + if (!skipLayerAddEvent) { + this.fire('layeradd', { layer: m }); + } + continue; + } + + if (this.hasLayer(m)) { + continue; + } + + this._addLayer(m, this._maxZoom); + if (!skipLayerAddEvent) { + this.fire('layeradd', { layer: m }); + } + + //If we just made a cluster of size 2 then we need to remove the other marker from the map (if it is) or we never will + if (m.__parent) { + if (m.__parent.getChildCount() === 2) { + var markers = m.__parent.getAllChildMarkers(), + otherMarker = markers[0] === m ? markers[1] : markers[0]; + fg.removeLayer(otherMarker); + } + } + } + + if (chunkProgress) { + // report progress and time elapsed: + chunkProgress(offset, l, (new Date()).getTime() - started); + } + + // Completed processing all markers. + if (offset === l) { + + // Refresh bounds and weighted positions. + this._topClusterLevel._recalculateBounds(); + + this._refreshClustersIcons(); + + this._topClusterLevel._recursivelyAddChildrenToMap(null, this._zoom, this._currentShownBounds); + } else { + setTimeout(process, this.options.chunkDelay); + } + }, this); + + process(); + } else { + var needsClustering = this._needsClustering; + + for (; offset < l; offset++) { + m = layersArray[offset]; + + // Group of layers, append children to layersArray and skip. + if (m instanceof L.LayerGroup) { + if (originalArray) { + layersArray = layersArray.slice(); + originalArray = false; + } + this._extractNonGroupLayers(m, layersArray); + l = layersArray.length; + continue; + } + + //Not point data, can't be clustered + if (!m.getLatLng) { + npg.addLayer(m); + continue; + } + + if (this.hasLayer(m)) { + continue; + } + + needsClustering.push(m); + } + } + return this; + }, + + //Takes an array of markers and removes them in bulk + removeLayers: function (layersArray) { + var i, m, + l = layersArray.length, + fg = this._featureGroup, + npg = this._nonPointGroup, + originalArray = true; + + if (!this._map) { + for (i = 0; i < l; i++) { + m = layersArray[i]; + + // Group of layers, append children to layersArray and skip. + if (m instanceof L.LayerGroup) { + if (originalArray) { + layersArray = layersArray.slice(); + originalArray = false; + } + this._extractNonGroupLayers(m, layersArray); + l = layersArray.length; + continue; + } + + this._arraySplice(this._needsClustering, m); + npg.removeLayer(m); + if (this.hasLayer(m)) { + this._needsRemoving.push({ layer: m, latlng: m._latlng }); + } + this.fire('layerremove', { layer: m }); + } + return this; + } + + if (this._unspiderfy) { + this._unspiderfy(); + + // Work on a copy of the array, so that next loop is not affected. + var layersArray2 = layersArray.slice(), + l2 = l; + for (i = 0; i < l2; i++) { + m = layersArray2[i]; + + // Group of layers, append children to layersArray and skip. + if (m instanceof L.LayerGroup) { + this._extractNonGroupLayers(m, layersArray2); + l2 = layersArray2.length; + continue; + } + + this._unspiderfyLayer(m); + } + } + + for (i = 0; i < l; i++) { + m = layersArray[i]; + + // Group of layers, append children to layersArray and skip. + if (m instanceof L.LayerGroup) { + if (originalArray) { + layersArray = layersArray.slice(); + originalArray = false; + } + this._extractNonGroupLayers(m, layersArray); + l = layersArray.length; + continue; + } + + if (!m.__parent) { + npg.removeLayer(m); + this.fire('layerremove', { layer: m }); + continue; + } + + this._removeLayer(m, true, true); + this.fire('layerremove', { layer: m }); + + if (fg.hasLayer(m)) { + fg.removeLayer(m); + if (m.clusterShow) { + m.clusterShow(); + } + } + } + + // Refresh bounds and weighted positions. + this._topClusterLevel._recalculateBounds(); + + this._refreshClustersIcons(); + + //Fix up the clusters and markers on the map + this._topClusterLevel._recursivelyAddChildrenToMap(null, this._zoom, this._currentShownBounds); + + return this; + }, + + //Removes all layers from the MarkerClusterGroup + clearLayers: function () { + //Need our own special implementation as the LayerGroup one doesn't work for us + + //If we aren't on the map (yet), blow away the markers we know of + if (!this._map) { + this._needsClustering = []; + this._needsRemoving = []; + delete this._gridClusters; + delete this._gridUnclustered; + } + + if (this._noanimationUnspiderfy) { + this._noanimationUnspiderfy(); + } + + //Remove all the visible layers + this._featureGroup.clearLayers(); + this._nonPointGroup.clearLayers(); + + this.eachLayer(function (marker) { + marker.off(this._childMarkerEventHandlers, this); + delete marker.__parent; + }, this); + + if (this._map) { + //Reset _topClusterLevel and the DistanceGrids + this._generateInitialClusters(); + } + + return this; + }, + + //Override FeatureGroup.getBounds as it doesn't work + getBounds: function () { + var bounds = new L.LatLngBounds(); + + if (this._topClusterLevel) { + bounds.extend(this._topClusterLevel._bounds); + } + + for (var i = this._needsClustering.length - 1; i >= 0; i--) { + bounds.extend(this._needsClustering[i].getLatLng()); + } + + bounds.extend(this._nonPointGroup.getBounds()); + + return bounds; + }, + + //Overrides LayerGroup.eachLayer + eachLayer: function (method, context) { + var markers = this._needsClustering.slice(), + needsRemoving = this._needsRemoving, + thisNeedsRemoving, i, j; + + if (this._topClusterLevel) { + this._topClusterLevel.getAllChildMarkers(markers); + } + + for (i = markers.length - 1; i >= 0; i--) { + thisNeedsRemoving = true; + + for (j = needsRemoving.length - 1; j >= 0; j--) { + if (needsRemoving[j].layer === markers[i]) { + thisNeedsRemoving = false; + break; + } + } + + if (thisNeedsRemoving) { + method.call(context, markers[i]); + } + } + + this._nonPointGroup.eachLayer(method, context); + }, + + //Overrides LayerGroup.getLayers + getLayers: function () { + var layers = []; + this.eachLayer(function (l) { + layers.push(l); + }); + return layers; + }, + + //Overrides LayerGroup.getLayer, WARNING: Really bad performance + getLayer: function (id) { + var result = null; + + id = parseInt(id, 10); + + this.eachLayer(function (l) { + if (L.stamp(l) === id) { + result = l; + } + }); + + return result; + }, + + //Returns true if the given layer is in this MarkerClusterGroup + hasLayer: function (layer) { + if (!layer) { + return false; + } + + var i, anArray = this._needsClustering; + + for (i = anArray.length - 1; i >= 0; i--) { + if (anArray[i] === layer) { + return true; + } + } + + anArray = this._needsRemoving; + for (i = anArray.length - 1; i >= 0; i--) { + if (anArray[i].layer === layer) { + return false; + } + } + + return !!(layer.__parent && layer.__parent._group === this) || this._nonPointGroup.hasLayer(layer); + }, + + //Zoom down to show the given layer (spiderfying if necessary) then calls the callback + zoomToShowLayer: function (layer, callback) { + + if (typeof callback !== 'function') { + callback = function () {}; + } + + var showMarker = function () { + if ((layer._icon || layer.__parent._icon) && !this._inZoomAnimation) { + this._map.off('moveend', showMarker, this); + this.off('animationend', showMarker, this); + + if (layer._icon) { + callback(); + } else if (layer.__parent._icon) { + this.once('spiderfied', callback, this); + layer.__parent.spiderfy(); + } + } + }; + + if (layer._icon && this._map.getBounds().contains(layer.getLatLng())) { + //Layer is visible ond on screen, immediate return + callback(); + } else if (layer.__parent._zoom < Math.round(this._map._zoom)) { + //Layer should be visible at this zoom level. It must not be on screen so just pan over to it + this._map.on('moveend', showMarker, this); + this._map.panTo(layer.getLatLng()); + } else { + this._map.on('moveend', showMarker, this); + this.on('animationend', showMarker, this); + layer.__parent.zoomToBounds(); + } + }, + + //Overrides FeatureGroup.onAdd + onAdd: function (map) { + this._map = map; + var i, l, layer; + + if (!isFinite(this._map.getMaxZoom())) { + throw "Map has no maxZoom specified"; + } + + this._featureGroup.addTo(map); + this._nonPointGroup.addTo(map); + + if (!this._gridClusters) { + this._generateInitialClusters(); + } + + this._maxLat = map.options.crs.projection.MAX_LATITUDE; + + //Restore all the positions as they are in the MCG before removing them + for (i = 0, l = this._needsRemoving.length; i < l; i++) { + layer = this._needsRemoving[i]; + layer.newlatlng = layer.layer._latlng; + layer.layer._latlng = layer.latlng; + } + //Remove them, then restore their new positions + for (i = 0, l = this._needsRemoving.length; i < l; i++) { + layer = this._needsRemoving[i]; + this._removeLayer(layer.layer, true); + layer.layer._latlng = layer.newlatlng; + } + this._needsRemoving = []; + + //Remember the current zoom level and bounds + this._zoom = Math.round(this._map._zoom); + this._currentShownBounds = this._getExpandedVisibleBounds(); + + this._map.on('zoomend', this._zoomEnd, this); + this._map.on('moveend', this._moveEnd, this); + + if (this._spiderfierOnAdd) { //TODO FIXME: Not sure how to have spiderfier add something on here nicely + this._spiderfierOnAdd(); + } + + this._bindEvents(); + + //Actually add our markers to the map: + l = this._needsClustering; + this._needsClustering = []; + this.addLayers(l, true); + }, + + //Overrides FeatureGroup.onRemove + onRemove: function (map) { + map.off('zoomend', this._zoomEnd, this); + map.off('moveend', this._moveEnd, this); + + this._unbindEvents(); + + //In case we are in a cluster animation + this._map._mapPane.className = this._map._mapPane.className.replace(' leaflet-cluster-anim', ''); + + if (this._spiderfierOnRemove) { //TODO FIXME: Not sure how to have spiderfier add something on here nicely + this._spiderfierOnRemove(); + } + + delete this._maxLat; + + //Clean up all the layers we added to the map + this._hideCoverage(); + this._featureGroup.remove(); + this._nonPointGroup.remove(); + + this._featureGroup.clearLayers(); + + this._map = null; + }, + + getVisibleParent: function (marker) { + var vMarker = marker; + while (vMarker && !vMarker._icon) { + vMarker = vMarker.__parent; + } + return vMarker || null; + }, + + //Remove the given object from the given array + _arraySplice: function (anArray, obj) { + for (var i = anArray.length - 1; i >= 0; i--) { + if (anArray[i] === obj) { + anArray.splice(i, 1); + return true; + } + } + }, + + /** + * Removes a marker from all _gridUnclustered zoom levels, starting at the supplied zoom. + * @param marker to be removed from _gridUnclustered. + * @param z integer bottom start zoom level (included) + * @private + */ + _removeFromGridUnclustered: function (marker, z) { + var map = this._map, + gridUnclustered = this._gridUnclustered, + minZoom = Math.floor(this._map.getMinZoom()); + + for (; z >= minZoom; z--) { + if (!gridUnclustered[z].removeObject(marker, map.project(marker.getLatLng(), z))) { + break; + } + } + }, + + _childMarkerDragStart: function (e) { + e.target.__dragStart = e.target._latlng; + }, + + _childMarkerMoved: function (e) { + if (!this._ignoreMove && !e.target.__dragStart) { + var isPopupOpen = e.target._popup && e.target._popup.isOpen(); + + this._moveChild(e.target, e.oldLatLng, e.latlng); + + if (isPopupOpen) { + e.target.openPopup(); + } + } + }, + + _moveChild: function (layer, from, to) { + layer._latlng = from; + this.removeLayer(layer); + + layer._latlng = to; + this.addLayer(layer); + }, + + _childMarkerDragEnd: function (e) { + var dragStart = e.target.__dragStart; + delete e.target.__dragStart; + if (dragStart) { + this._moveChild(e.target, dragStart, e.target._latlng); + } + }, + + + //Internal function for removing a marker from everything. + //dontUpdateMap: set to true if you will handle updating the map manually (for bulk functions) + _removeLayer: function (marker, removeFromDistanceGrid, dontUpdateMap) { + var gridClusters = this._gridClusters, + gridUnclustered = this._gridUnclustered, + fg = this._featureGroup, + map = this._map, + minZoom = Math.floor(this._map.getMinZoom()); + + //Remove the marker from distance clusters it might be in + if (removeFromDistanceGrid) { + this._removeFromGridUnclustered(marker, this._maxZoom); + } + + //Work our way up the clusters removing them as we go if required + var cluster = marker.__parent, + markers = cluster._markers, + otherMarker; + + //Remove the marker from the immediate parents marker list + this._arraySplice(markers, marker); + + while (cluster) { + cluster._childCount--; + cluster._boundsNeedUpdate = true; + + if (cluster._zoom < minZoom) { + //Top level, do nothing + break; + } else if (removeFromDistanceGrid && cluster._childCount <= 1) { //Cluster no longer required + //We need to push the other marker up to the parent + otherMarker = cluster._markers[0] === marker ? cluster._markers[1] : cluster._markers[0]; + + //Update distance grid + gridClusters[cluster._zoom].removeObject(cluster, map.project(cluster._cLatLng, cluster._zoom)); + gridUnclustered[cluster._zoom].addObject(otherMarker, map.project(otherMarker.getLatLng(), cluster._zoom)); + + //Move otherMarker up to parent + this._arraySplice(cluster.__parent._childClusters, cluster); + cluster.__parent._markers.push(otherMarker); + otherMarker.__parent = cluster.__parent; + + if (cluster._icon) { + //Cluster is currently on the map, need to put the marker on the map instead + fg.removeLayer(cluster); + if (!dontUpdateMap) { + fg.addLayer(otherMarker); + } + } + } else { + cluster._iconNeedsUpdate = true; + } + + cluster = cluster.__parent; + } + + delete marker.__parent; + }, + + _isOrIsParent: function (el, oel) { + while (oel) { + if (el === oel) { + return true; + } + oel = oel.parentNode; + } + return false; + }, + + //Override L.Evented.fire + fire: function (type, data, propagate) { + if (data && data.layer instanceof L.MarkerCluster) { + //Prevent multiple clustermouseover/off events if the icon is made up of stacked divs (Doesn't work in ie <= 8, no relatedTarget) + if (data.originalEvent && this._isOrIsParent(data.layer._icon, data.originalEvent.relatedTarget)) { + return; + } + type = 'cluster' + type; + } + + L.FeatureGroup.prototype.fire.call(this, type, data, propagate); + }, + + //Override L.Evented.listens + listens: function (type, propagate) { + return L.FeatureGroup.prototype.listens.call(this, type, propagate) || L.FeatureGroup.prototype.listens.call(this, 'cluster' + type, propagate); + }, + + //Default functionality + _defaultIconCreateFunction: function (cluster) { + var childCount = cluster.getChildCount(); + + var c = ' marker-cluster-'; + if (childCount < 10) { + c += 'small'; + } else if (childCount < 100) { + c += 'medium'; + } else { + c += 'large'; + } + + return new L.DivIcon({ html: '
' + childCount + '
', className: 'marker-cluster' + c, iconSize: new L.Point(40, 40) }); + }, + + _bindEvents: function () { + var map = this._map, + spiderfyOnMaxZoom = this.options.spiderfyOnMaxZoom, + showCoverageOnHover = this.options.showCoverageOnHover, + zoomToBoundsOnClick = this.options.zoomToBoundsOnClick; + + //Zoom on cluster click or spiderfy if we are at the lowest level + if (spiderfyOnMaxZoom || zoomToBoundsOnClick) { + this.on('clusterclick', this._zoomOrSpiderfy, this); + } + + //Show convex hull (boundary) polygon on mouse over + if (showCoverageOnHover) { + this.on('clustermouseover', this._showCoverage, this); + this.on('clustermouseout', this._hideCoverage, this); + map.on('zoomend', this._hideCoverage, this); + } + }, + + _zoomOrSpiderfy: function (e) { + var cluster = e.layer, + bottomCluster = cluster; + + while (bottomCluster._childClusters.length === 1) { + bottomCluster = bottomCluster._childClusters[0]; + } + + if (bottomCluster._zoom === this._maxZoom && + bottomCluster._childCount === cluster._childCount && + this.options.spiderfyOnMaxZoom) { + + // All child markers are contained in a single cluster from this._maxZoom to this cluster. + cluster.spiderfy(); + } else if (this.options.zoomToBoundsOnClick) { + cluster.zoomToBounds(); + } + + // Focus the map again for keyboard users. + if (e.originalEvent && e.originalEvent.keyCode === 13) { + this._map._container.focus(); + } + }, + + _showCoverage: function (e) { + var map = this._map; + if (this._inZoomAnimation) { + return; + } + if (this._shownPolygon) { + map.removeLayer(this._shownPolygon); + } + if (e.layer.getChildCount() > 2 && e.layer !== this._spiderfied) { + this._shownPolygon = new L.Polygon(e.layer.getConvexHull(), this.options.polygonOptions); + map.addLayer(this._shownPolygon); + } + }, + + _hideCoverage: function () { + if (this._shownPolygon) { + this._map.removeLayer(this._shownPolygon); + this._shownPolygon = null; + } + }, + + _unbindEvents: function () { + var spiderfyOnMaxZoom = this.options.spiderfyOnMaxZoom, + showCoverageOnHover = this.options.showCoverageOnHover, + zoomToBoundsOnClick = this.options.zoomToBoundsOnClick, + map = this._map; + + if (spiderfyOnMaxZoom || zoomToBoundsOnClick) { + this.off('clusterclick', this._zoomOrSpiderfy, this); + } + if (showCoverageOnHover) { + this.off('clustermouseover', this._showCoverage, this); + this.off('clustermouseout', this._hideCoverage, this); + map.off('zoomend', this._hideCoverage, this); + } + }, + + _zoomEnd: function () { + if (!this._map) { //May have been removed from the map by a zoomEnd handler + return; + } + this._mergeSplitClusters(); + + this._zoom = Math.round(this._map._zoom); + this._currentShownBounds = this._getExpandedVisibleBounds(); + }, + + _moveEnd: function () { + if (this._inZoomAnimation) { + return; + } + + var newBounds = this._getExpandedVisibleBounds(); + + this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), this._zoom, newBounds); + this._topClusterLevel._recursivelyAddChildrenToMap(null, Math.round(this._map._zoom), newBounds); + + this._currentShownBounds = newBounds; + return; + }, + + _generateInitialClusters: function () { + var maxZoom = Math.ceil(this._map.getMaxZoom()), + minZoom = Math.floor(this._map.getMinZoom()), + radius = this.options.maxClusterRadius, + radiusFn = radius; + + //If we just set maxClusterRadius to a single number, we need to create + //a simple function to return that number. Otherwise, we just have to + //use the function we've passed in. + if (typeof radius !== "function") { + radiusFn = function () { return radius; }; + } + + if (this.options.disableClusteringAtZoom !== null) { + maxZoom = this.options.disableClusteringAtZoom - 1; + } + this._maxZoom = maxZoom; + this._gridClusters = {}; + this._gridUnclustered = {}; + + //Set up DistanceGrids for each zoom + for (var zoom = maxZoom; zoom >= minZoom; zoom--) { + this._gridClusters[zoom] = new L.DistanceGrid(radiusFn(zoom)); + this._gridUnclustered[zoom] = new L.DistanceGrid(radiusFn(zoom)); + } + + // Instantiate the appropriate L.MarkerCluster class (animated or not). + this._topClusterLevel = new this._markerCluster(this, minZoom - 1); + }, + + //Zoom: Zoom to start adding at (Pass this._maxZoom to start at the bottom) + _addLayer: function (layer, zoom) { + var gridClusters = this._gridClusters, + gridUnclustered = this._gridUnclustered, + minZoom = Math.floor(this._map.getMinZoom()), + markerPoint, z; + + if (this.options.singleMarkerMode) { + this._overrideMarkerIcon(layer); + } + + layer.on(this._childMarkerEventHandlers, this); + + //Find the lowest zoom level to slot this one in + for (; zoom >= minZoom; zoom--) { + markerPoint = this._map.project(layer.getLatLng(), zoom); // calculate pixel position + + //Try find a cluster close by + var closest = gridClusters[zoom].getNearObject(markerPoint); + if (closest) { + closest._addChild(layer); + layer.__parent = closest; + return; + } + + //Try find a marker close by to form a new cluster with + closest = gridUnclustered[zoom].getNearObject(markerPoint); + if (closest) { + var parent = closest.__parent; + if (parent) { + this._removeLayer(closest, false); + } + + //Create new cluster with these 2 in it + + var newCluster = new this._markerCluster(this, zoom, closest, layer); + gridClusters[zoom].addObject(newCluster, this._map.project(newCluster._cLatLng, zoom)); + closest.__parent = newCluster; + layer.__parent = newCluster; + + //First create any new intermediate parent clusters that don't exist + var lastParent = newCluster; + for (z = zoom - 1; z > parent._zoom; z--) { + lastParent = new this._markerCluster(this, z, lastParent); + gridClusters[z].addObject(lastParent, this._map.project(closest.getLatLng(), z)); + } + parent._addChild(lastParent); + + //Remove closest from this zoom level and any above that it is in, replace with newCluster + this._removeFromGridUnclustered(closest, zoom); + + return; + } + + //Didn't manage to cluster in at this zoom, record us as a marker here and continue upwards + gridUnclustered[zoom].addObject(layer, markerPoint); + } + + //Didn't get in anything, add us to the top + this._topClusterLevel._addChild(layer); + layer.__parent = this._topClusterLevel; + return; + }, + + /** + * Refreshes the icon of all "dirty" visible clusters. + * Non-visible "dirty" clusters will be updated when they are added to the map. + * @private + */ + _refreshClustersIcons: function () { + this._featureGroup.eachLayer(function (c) { + if (c instanceof L.MarkerCluster && c._iconNeedsUpdate) { + c._updateIcon(); + } + }); + }, + + //Enqueue code to fire after the marker expand/contract has happened + _enqueue: function (fn) { + this._queue.push(fn); + if (!this._queueTimeout) { + this._queueTimeout = setTimeout(L.bind(this._processQueue, this), 300); + } + }, + _processQueue: function () { + for (var i = 0; i < this._queue.length; i++) { + this._queue[i].call(this); + } + this._queue.length = 0; + clearTimeout(this._queueTimeout); + this._queueTimeout = null; + }, + + //Merge and split any existing clusters that are too big or small + _mergeSplitClusters: function () { + var mapZoom = Math.round(this._map._zoom); + + //In case we are starting to split before the animation finished + this._processQueue(); + + if (this._zoom < mapZoom && this._currentShownBounds.intersects(this._getExpandedVisibleBounds())) { //Zoom in, split + this._animationStart(); + //Remove clusters now off screen + this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), this._zoom, this._getExpandedVisibleBounds()); + + this._animationZoomIn(this._zoom, mapZoom); + + } else if (this._zoom > mapZoom) { //Zoom out, merge + this._animationStart(); + + this._animationZoomOut(this._zoom, mapZoom); + } else { + this._moveEnd(); + } + }, + + //Gets the maps visible bounds expanded in each direction by the size of the screen (so the user cannot see an area we do not cover in one pan) + _getExpandedVisibleBounds: function () { + if (!this.options.removeOutsideVisibleBounds) { + return this._mapBoundsInfinite; + } else if (L.Browser.mobile) { + return this._checkBoundsMaxLat(this._map.getBounds()); + } + + return this._checkBoundsMaxLat(this._map.getBounds().pad(1)); // Padding expands the bounds by its own dimensions but scaled with the given factor. + }, + + /** + * Expands the latitude to Infinity (or -Infinity) if the input bounds reach the map projection maximum defined latitude + * (in the case of Web/Spherical Mercator, it is 85.0511287798 / see https://en.wikipedia.org/wiki/Web_Mercator#Formulas). + * Otherwise, the removeOutsideVisibleBounds option will remove markers beyond that limit, whereas the same markers without + * this option (or outside MCG) will have their position floored (ceiled) by the projection and rendered at that limit, + * making the user think that MCG "eats" them and never displays them again. + * @param bounds L.LatLngBounds + * @returns {L.LatLngBounds} + * @private + */ + _checkBoundsMaxLat: function (bounds) { + var maxLat = this._maxLat; + + if (maxLat !== undefined) { + if (bounds.getNorth() >= maxLat) { + bounds._northEast.lat = Infinity; + } + if (bounds.getSouth() <= -maxLat) { + bounds._southWest.lat = -Infinity; + } + } + + return bounds; + }, + + //Shared animation code + _animationAddLayerNonAnimated: function (layer, newCluster) { + if (newCluster === layer) { + this._featureGroup.addLayer(layer); + } else if (newCluster._childCount === 2) { + newCluster._addToMap(); + + var markers = newCluster.getAllChildMarkers(); + this._featureGroup.removeLayer(markers[0]); + this._featureGroup.removeLayer(markers[1]); + } else { + newCluster._updateIcon(); + } + }, + + /** + * Extracts individual (i.e. non-group) layers from a Layer Group. + * @param group to extract layers from. + * @param output {Array} in which to store the extracted layers. + * @returns {*|Array} + * @private + */ + _extractNonGroupLayers: function (group, output) { + var layers = group.getLayers(), + i = 0, + layer; + + output = output || []; + + for (; i < layers.length; i++) { + layer = layers[i]; + + if (layer instanceof L.LayerGroup) { + this._extractNonGroupLayers(layer, output); + continue; + } + + output.push(layer); + } + + return output; + }, + + /** + * Implements the singleMarkerMode option. + * @param layer Marker to re-style using the Clusters iconCreateFunction. + * @returns {L.Icon} The newly created icon. + * @private + */ + _overrideMarkerIcon: function (layer) { + var icon = layer.options.icon = this.options.iconCreateFunction({ + getChildCount: function () { + return 1; + }, + getAllChildMarkers: function () { + return [layer]; + } + }); + + return icon; + } +}); + +// Constant bounds used in case option "removeOutsideVisibleBounds" is set to false. +L.MarkerClusterGroup.include({ + _mapBoundsInfinite: new L.LatLngBounds(new L.LatLng(-Infinity, -Infinity), new L.LatLng(Infinity, Infinity)) +}); + +L.MarkerClusterGroup.include({ + _noAnimation: { + //Non Animated versions of everything + _animationStart: function () { + //Do nothing... + }, + _animationZoomIn: function (previousZoomLevel, newZoomLevel) { + this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), previousZoomLevel); + this._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds()); + + //We didn't actually animate, but we use this event to mean "clustering animations have finished" + this.fire('animationend'); + }, + _animationZoomOut: function (previousZoomLevel, newZoomLevel) { + this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), previousZoomLevel); + this._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds()); + + //We didn't actually animate, but we use this event to mean "clustering animations have finished" + this.fire('animationend'); + }, + _animationAddLayer: function (layer, newCluster) { + this._animationAddLayerNonAnimated(layer, newCluster); + } + }, + + _withAnimation: { + //Animated versions here + _animationStart: function () { + this._map._mapPane.className += ' leaflet-cluster-anim'; + this._inZoomAnimation++; + }, + + _animationZoomIn: function (previousZoomLevel, newZoomLevel) { + var bounds = this._getExpandedVisibleBounds(), + fg = this._featureGroup, + minZoom = Math.floor(this._map.getMinZoom()), + i; + + this._ignoreMove = true; + + //Add all children of current clusters to map and remove those clusters from map + this._topClusterLevel._recursively(bounds, previousZoomLevel, minZoom, function (c) { + var startPos = c._latlng, + markers = c._markers, + m; + + if (!bounds.contains(startPos)) { + startPos = null; + } + + if (c._isSingleParent() && previousZoomLevel + 1 === newZoomLevel) { //Immediately add the new child and remove us + fg.removeLayer(c); + c._recursivelyAddChildrenToMap(null, newZoomLevel, bounds); + } else { + //Fade out old cluster + c.clusterHide(); + c._recursivelyAddChildrenToMap(startPos, newZoomLevel, bounds); + } + + //Remove all markers that aren't visible any more + //TODO: Do we actually need to do this on the higher levels too? + for (i = markers.length - 1; i >= 0; i--) { + m = markers[i]; + if (!bounds.contains(m._latlng)) { + fg.removeLayer(m); + } + } + + }); + + this._forceLayout(); + + //Update opacities + this._topClusterLevel._recursivelyBecomeVisible(bounds, newZoomLevel); + //TODO Maybe? Update markers in _recursivelyBecomeVisible + fg.eachLayer(function (n) { + if (!(n instanceof L.MarkerCluster) && n._icon) { + n.clusterShow(); + } + }); + + //update the positions of the just added clusters/markers + this._topClusterLevel._recursively(bounds, previousZoomLevel, newZoomLevel, function (c) { + c._recursivelyRestoreChildPositions(newZoomLevel); + }); + + this._ignoreMove = false; + + //Remove the old clusters and close the zoom animation + this._enqueue(function () { + //update the positions of the just added clusters/markers + this._topClusterLevel._recursively(bounds, previousZoomLevel, minZoom, function (c) { + fg.removeLayer(c); + c.clusterShow(); + }); + + this._animationEnd(); + }); + }, + + _animationZoomOut: function (previousZoomLevel, newZoomLevel) { + this._animationZoomOutSingle(this._topClusterLevel, previousZoomLevel - 1, newZoomLevel); + + //Need to add markers for those that weren't on the map before but are now + this._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds()); + //Remove markers that were on the map before but won't be now + this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), previousZoomLevel, this._getExpandedVisibleBounds()); + }, + + _animationAddLayer: function (layer, newCluster) { + var me = this, + fg = this._featureGroup; + + fg.addLayer(layer); + if (newCluster !== layer) { + if (newCluster._childCount > 2) { //Was already a cluster + + newCluster._updateIcon(); + this._forceLayout(); + this._animationStart(); + + layer._setPos(this._map.latLngToLayerPoint(newCluster.getLatLng())); + layer.clusterHide(); + + this._enqueue(function () { + fg.removeLayer(layer); + layer.clusterShow(); + + me._animationEnd(); + }); + + } else { //Just became a cluster + this._forceLayout(); + + me._animationStart(); + me._animationZoomOutSingle(newCluster, this._map.getMaxZoom(), this._zoom); + } + } + } + }, + + // Private methods for animated versions. + _animationZoomOutSingle: function (cluster, previousZoomLevel, newZoomLevel) { + var bounds = this._getExpandedVisibleBounds(), + minZoom = Math.floor(this._map.getMinZoom()); + + //Animate all of the markers in the clusters to move to their cluster center point + cluster._recursivelyAnimateChildrenInAndAddSelfToMap(bounds, minZoom, previousZoomLevel + 1, newZoomLevel); + + var me = this; + + //Update the opacity (If we immediately set it they won't animate) + this._forceLayout(); + cluster._recursivelyBecomeVisible(bounds, newZoomLevel); + + //TODO: Maybe use the transition timing stuff to make this more reliable + //When the animations are done, tidy up + this._enqueue(function () { + + //This cluster stopped being a cluster before the timeout fired + if (cluster._childCount === 1) { + var m = cluster._markers[0]; + //If we were in a cluster animation at the time then the opacity and position of our child could be wrong now, so fix it + this._ignoreMove = true; + m.setLatLng(m.getLatLng()); + this._ignoreMove = false; + if (m.clusterShow) { + m.clusterShow(); + } + } else { + cluster._recursively(bounds, newZoomLevel, minZoom, function (c) { + c._recursivelyRemoveChildrenFromMap(bounds, minZoom, previousZoomLevel + 1); + }); + } + me._animationEnd(); + }); + }, + + _animationEnd: function () { + if (this._map) { + this._map._mapPane.className = this._map._mapPane.className.replace(' leaflet-cluster-anim', ''); + } + this._inZoomAnimation--; + this.fire('animationend'); + }, + + //Force a browser layout of stuff in the map + // Should apply the current opacity and location to all elements so we can update them again for an animation + _forceLayout: function () { + //In my testing this works, infact offsetWidth of any element seems to work. + //Could loop all this._layers and do this for each _icon if it stops working + + L.Util.falseFn(document.body.offsetWidth); + } +}); + +L.markerClusterGroup = function (options) { + return new L.MarkerClusterGroup(options); +}; + +var MarkerCluster = L.MarkerCluster = L.Marker.extend({ + options: L.Icon.prototype.options, + + initialize: function (group, zoom, a, b) { + + L.Marker.prototype.initialize.call(this, a ? (a._cLatLng || a.getLatLng()) : new L.LatLng(0, 0), + { icon: this, pane: group.options.clusterPane }); + + this._group = group; + this._zoom = zoom; + + this._markers = []; + this._childClusters = []; + this._childCount = 0; + this._iconNeedsUpdate = true; + this._boundsNeedUpdate = true; + + this._bounds = new L.LatLngBounds(); + + if (a) { + this._addChild(a); + } + if (b) { + this._addChild(b); + } + }, + + //Recursively retrieve all child markers of this cluster + getAllChildMarkers: function (storageArray, ignoreDraggedMarker) { + storageArray = storageArray || []; + + for (var i = this._childClusters.length - 1; i >= 0; i--) { + this._childClusters[i].getAllChildMarkers(storageArray); + } + + for (var j = this._markers.length - 1; j >= 0; j--) { + if (ignoreDraggedMarker && this._markers[j].__dragStart) { + continue; + } + storageArray.push(this._markers[j]); + } + + return storageArray; + }, + + //Returns the count of how many child markers we have + getChildCount: function () { + return this._childCount; + }, + + //Zoom to the minimum of showing all of the child markers, or the extents of this cluster + zoomToBounds: function (fitBoundsOptions) { + var childClusters = this._childClusters.slice(), + map = this._group._map, + boundsZoom = map.getBoundsZoom(this._bounds), + zoom = this._zoom + 1, + mapZoom = map.getZoom(), + i; + + //calculate how far we need to zoom down to see all of the markers + while (childClusters.length > 0 && boundsZoom > zoom) { + zoom++; + var newClusters = []; + for (i = 0; i < childClusters.length; i++) { + newClusters = newClusters.concat(childClusters[i]._childClusters); + } + childClusters = newClusters; + } + + if (boundsZoom > zoom) { + this._group._map.setView(this._latlng, zoom); + } else if (boundsZoom <= mapZoom) { //If fitBounds wouldn't zoom us down, zoom us down instead + this._group._map.setView(this._latlng, mapZoom + 1); + } else { + this._group._map.fitBounds(this._bounds, fitBoundsOptions); + } + }, + + getBounds: function () { + var bounds = new L.LatLngBounds(); + bounds.extend(this._bounds); + return bounds; + }, + + _updateIcon: function () { + this._iconNeedsUpdate = true; + if (this._icon) { + this.setIcon(this); + } + }, + + //Cludge for Icon, we pretend to be an icon for performance + createIcon: function () { + if (this._iconNeedsUpdate) { + this._iconObj = this._group.options.iconCreateFunction(this); + this._iconNeedsUpdate = false; + } + return this._iconObj.createIcon(); + }, + createShadow: function () { + return this._iconObj.createShadow(); + }, + + + _addChild: function (new1, isNotificationFromChild) { + + this._iconNeedsUpdate = true; + + this._boundsNeedUpdate = true; + this._setClusterCenter(new1); + + if (new1 instanceof L.MarkerCluster) { + if (!isNotificationFromChild) { + this._childClusters.push(new1); + new1.__parent = this; + } + this._childCount += new1._childCount; + } else { + if (!isNotificationFromChild) { + this._markers.push(new1); + } + this._childCount++; + } + + if (this.__parent) { + this.__parent._addChild(new1, true); + } + }, + + /** + * Makes sure the cluster center is set. If not, uses the child center if it is a cluster, or the marker position. + * @param child L.MarkerCluster|L.Marker that will be used as cluster center if not defined yet. + * @private + */ + _setClusterCenter: function (child) { + if (!this._cLatLng) { + // when clustering, take position of the first point as the cluster center + this._cLatLng = child._cLatLng || child._latlng; + } + }, + + /** + * Assigns impossible bounding values so that the next extend entirely determines the new bounds. + * This method avoids having to trash the previous L.LatLngBounds object and to create a new one, which is much slower for this class. + * As long as the bounds are not extended, most other methods would probably fail, as they would with bounds initialized but not extended. + * @private + */ + _resetBounds: function () { + var bounds = this._bounds; + + if (bounds._southWest) { + bounds._southWest.lat = Infinity; + bounds._southWest.lng = Infinity; + } + if (bounds._northEast) { + bounds._northEast.lat = -Infinity; + bounds._northEast.lng = -Infinity; + } + }, + + _recalculateBounds: function () { + var markers = this._markers, + childClusters = this._childClusters, + latSum = 0, + lngSum = 0, + totalCount = this._childCount, + i, child, childLatLng, childCount; + + // Case where all markers are removed from the map and we are left with just an empty _topClusterLevel. + if (totalCount === 0) { + return; + } + + // Reset rather than creating a new object, for performance. + this._resetBounds(); + + // Child markers. + for (i = 0; i < markers.length; i++) { + childLatLng = markers[i]._latlng; + + this._bounds.extend(childLatLng); + + latSum += childLatLng.lat; + lngSum += childLatLng.lng; + } + + // Child clusters. + for (i = 0; i < childClusters.length; i++) { + child = childClusters[i]; + + // Re-compute child bounds and weighted position first if necessary. + if (child._boundsNeedUpdate) { + child._recalculateBounds(); + } + + this._bounds.extend(child._bounds); + + childLatLng = child._wLatLng; + childCount = child._childCount; + + latSum += childLatLng.lat * childCount; + lngSum += childLatLng.lng * childCount; + } + + this._latlng = this._wLatLng = new L.LatLng(latSum / totalCount, lngSum / totalCount); + + // Reset dirty flag. + this._boundsNeedUpdate = false; + }, + + //Set our markers position as given and add it to the map + _addToMap: function (startPos) { + if (startPos) { + this._backupLatlng = this._latlng; + this.setLatLng(startPos); + } + this._group._featureGroup.addLayer(this); + }, + + _recursivelyAnimateChildrenIn: function (bounds, center, maxZoom) { + this._recursively(bounds, this._group._map.getMinZoom(), maxZoom - 1, + function (c) { + var markers = c._markers, + i, m; + for (i = markers.length - 1; i >= 0; i--) { + m = markers[i]; + + //Only do it if the icon is still on the map + if (m._icon) { + m._setPos(center); + m.clusterHide(); + } + } + }, + function (c) { + var childClusters = c._childClusters, + j, cm; + for (j = childClusters.length - 1; j >= 0; j--) { + cm = childClusters[j]; + if (cm._icon) { + cm._setPos(center); + cm.clusterHide(); + } + } + } + ); + }, + + _recursivelyAnimateChildrenInAndAddSelfToMap: function (bounds, mapMinZoom, previousZoomLevel, newZoomLevel) { + this._recursively(bounds, newZoomLevel, mapMinZoom, + function (c) { + c._recursivelyAnimateChildrenIn(bounds, c._group._map.latLngToLayerPoint(c.getLatLng()).round(), previousZoomLevel); + + //TODO: depthToAnimateIn affects _isSingleParent, if there is a multizoom we may/may not be. + //As a hack we only do a animation free zoom on a single level zoom, if someone does multiple levels then we always animate + if (c._isSingleParent() && previousZoomLevel - 1 === newZoomLevel) { + c.clusterShow(); + c._recursivelyRemoveChildrenFromMap(bounds, mapMinZoom, previousZoomLevel); //Immediately remove our children as we are replacing them. TODO previousBounds not bounds + } else { + c.clusterHide(); + } + + c._addToMap(); + } + ); + }, + + _recursivelyBecomeVisible: function (bounds, zoomLevel) { + this._recursively(bounds, this._group._map.getMinZoom(), zoomLevel, null, function (c) { + c.clusterShow(); + }); + }, + + _recursivelyAddChildrenToMap: function (startPos, zoomLevel, bounds) { + this._recursively(bounds, this._group._map.getMinZoom() - 1, zoomLevel, + function (c) { + if (zoomLevel === c._zoom) { + return; + } + + //Add our child markers at startPos (so they can be animated out) + for (var i = c._markers.length - 1; i >= 0; i--) { + var nm = c._markers[i]; + + if (!bounds.contains(nm._latlng)) { + continue; + } + + if (startPos) { + nm._backupLatlng = nm.getLatLng(); + + nm.setLatLng(startPos); + if (nm.clusterHide) { + nm.clusterHide(); + } + } + + c._group._featureGroup.addLayer(nm); + } + }, + function (c) { + c._addToMap(startPos); + } + ); + }, + + _recursivelyRestoreChildPositions: function (zoomLevel) { + //Fix positions of child markers + for (var i = this._markers.length - 1; i >= 0; i--) { + var nm = this._markers[i]; + if (nm._backupLatlng) { + nm.setLatLng(nm._backupLatlng); + delete nm._backupLatlng; + } + } + + if (zoomLevel - 1 === this._zoom) { + //Reposition child clusters + for (var j = this._childClusters.length - 1; j >= 0; j--) { + this._childClusters[j]._restorePosition(); + } + } else { + for (var k = this._childClusters.length - 1; k >= 0; k--) { + this._childClusters[k]._recursivelyRestoreChildPositions(zoomLevel); + } + } + }, + + _restorePosition: function () { + if (this._backupLatlng) { + this.setLatLng(this._backupLatlng); + delete this._backupLatlng; + } + }, + + //exceptBounds: If set, don't remove any markers/clusters in it + _recursivelyRemoveChildrenFromMap: function (previousBounds, mapMinZoom, zoomLevel, exceptBounds) { + var m, i; + this._recursively(previousBounds, mapMinZoom - 1, zoomLevel - 1, + function (c) { + //Remove markers at every level + for (i = c._markers.length - 1; i >= 0; i--) { + m = c._markers[i]; + if (!exceptBounds || !exceptBounds.contains(m._latlng)) { + c._group._featureGroup.removeLayer(m); + if (m.clusterShow) { + m.clusterShow(); + } + } + } + }, + function (c) { + //Remove child clusters at just the bottom level + for (i = c._childClusters.length - 1; i >= 0; i--) { + m = c._childClusters[i]; + if (!exceptBounds || !exceptBounds.contains(m._latlng)) { + c._group._featureGroup.removeLayer(m); + if (m.clusterShow) { + m.clusterShow(); + } + } + } + } + ); + }, + + //Run the given functions recursively to this and child clusters + // boundsToApplyTo: a L.LatLngBounds representing the bounds of what clusters to recurse in to + // zoomLevelToStart: zoom level to start running functions (inclusive) + // zoomLevelToStop: zoom level to stop running functions (inclusive) + // runAtEveryLevel: function that takes an L.MarkerCluster as an argument that should be applied on every level + // runAtBottomLevel: function that takes an L.MarkerCluster as an argument that should be applied at only the bottom level + _recursively: function (boundsToApplyTo, zoomLevelToStart, zoomLevelToStop, runAtEveryLevel, runAtBottomLevel) { + var childClusters = this._childClusters, + zoom = this._zoom, + i, c; + + if (zoomLevelToStart <= zoom) { + if (runAtEveryLevel) { + runAtEveryLevel(this); + } + if (runAtBottomLevel && zoom === zoomLevelToStop) { + runAtBottomLevel(this); + } + } + + if (zoom < zoomLevelToStart || zoom < zoomLevelToStop) { + for (i = childClusters.length - 1; i >= 0; i--) { + c = childClusters[i]; + if (c._boundsNeedUpdate) { + c._recalculateBounds(); + } + if (boundsToApplyTo.intersects(c._bounds)) { + c._recursively(boundsToApplyTo, zoomLevelToStart, zoomLevelToStop, runAtEveryLevel, runAtBottomLevel); + } + } + } + }, + + //Returns true if we are the parent of only one cluster and that cluster is the same as us + _isSingleParent: function () { + //Don't need to check this._markers as the rest won't work if there are any + return this._childClusters.length > 0 && this._childClusters[0]._childCount === this._childCount; + } +}); + +/* +* Extends L.Marker to include two extra methods: clusterHide and clusterShow. +* +* They work as setOpacity(0) and setOpacity(1) respectively, but +* don't overwrite the options.opacity +* +*/ + +L.Marker.include({ + clusterHide: function () { + var backup = this.options.opacity; + this.setOpacity(0); + this.options.opacity = backup; + return this; + }, + + clusterShow: function () { + return this.setOpacity(this.options.opacity); + } +}); + +L.DistanceGrid = function (cellSize) { + this._cellSize = cellSize; + this._sqCellSize = cellSize * cellSize; + this._grid = {}; + this._objectPoint = { }; +}; + +L.DistanceGrid.prototype = { + + addObject: function (obj, point) { + var x = this._getCoord(point.x), + y = this._getCoord(point.y), + grid = this._grid, + row = grid[y] = grid[y] || {}, + cell = row[x] = row[x] || [], + stamp = L.Util.stamp(obj); + + this._objectPoint[stamp] = point; + + cell.push(obj); + }, + + updateObject: function (obj, point) { + this.removeObject(obj); + this.addObject(obj, point); + }, + + //Returns true if the object was found + removeObject: function (obj, point) { + var x = this._getCoord(point.x), + y = this._getCoord(point.y), + grid = this._grid, + row = grid[y] = grid[y] || {}, + cell = row[x] = row[x] || [], + i, len; + + delete this._objectPoint[L.Util.stamp(obj)]; + + for (i = 0, len = cell.length; i < len; i++) { + if (cell[i] === obj) { + + cell.splice(i, 1); + + if (len === 1) { + delete row[x]; + } + + return true; + } + } + + }, + + eachObject: function (fn, context) { + var i, j, k, len, row, cell, removed, + grid = this._grid; + + for (i in grid) { + row = grid[i]; + + for (j in row) { + cell = row[j]; + + for (k = 0, len = cell.length; k < len; k++) { + removed = fn.call(context, cell[k]); + if (removed) { + k--; + len--; + } + } + } + } + }, + + getNearObject: function (point) { + var x = this._getCoord(point.x), + y = this._getCoord(point.y), + i, j, k, row, cell, len, obj, dist, + objectPoint = this._objectPoint, + closestDistSq = this._sqCellSize, + closest = null; + + for (i = y - 1; i <= y + 1; i++) { + row = this._grid[i]; + if (row) { + + for (j = x - 1; j <= x + 1; j++) { + cell = row[j]; + if (cell) { + + for (k = 0, len = cell.length; k < len; k++) { + obj = cell[k]; + dist = this._sqDist(objectPoint[L.Util.stamp(obj)], point); + if (dist < closestDistSq || + dist <= closestDistSq && closest === null) { + closestDistSq = dist; + closest = obj; + } + } + } + } + } + } + return closest; + }, + + _getCoord: function (x) { + var coord = Math.floor(x / this._cellSize); + return isFinite(coord) ? coord : x; + }, + + _sqDist: function (p, p2) { + var dx = p2.x - p.x, + dy = p2.y - p.y; + return dx * dx + dy * dy; + } +}; + +/* Copyright (c) 2012 the authors listed at the following URL, and/or +the authors of referenced articles or incorporated external code: +http://en.literateprograms.org/Quickhull_(Javascript)?action=history&offset=20120410175256 + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Retrieved from: http://en.literateprograms.org/Quickhull_(Javascript)?oldid=18434 +*/ + +(function () { + L.QuickHull = { + + /* + * @param {Object} cpt a point to be measured from the baseline + * @param {Array} bl the baseline, as represented by a two-element + * array of latlng objects. + * @returns {Number} an approximate distance measure + */ + getDistant: function (cpt, bl) { + var vY = bl[1].lat - bl[0].lat, + vX = bl[0].lng - bl[1].lng; + return (vX * (cpt.lat - bl[0].lat) + vY * (cpt.lng - bl[0].lng)); + }, + + /* + * @param {Array} baseLine a two-element array of latlng objects + * representing the baseline to project from + * @param {Array} latLngs an array of latlng objects + * @returns {Object} the maximum point and all new points to stay + * in consideration for the hull. + */ + findMostDistantPointFromBaseLine: function (baseLine, latLngs) { + var maxD = 0, + maxPt = null, + newPoints = [], + i, pt, d; + + for (i = latLngs.length - 1; i >= 0; i--) { + pt = latLngs[i]; + d = this.getDistant(pt, baseLine); + + if (d > 0) { + newPoints.push(pt); + } else { + continue; + } + + if (d > maxD) { + maxD = d; + maxPt = pt; + } + } + + return { maxPoint: maxPt, newPoints: newPoints }; + }, + + + /* + * Given a baseline, compute the convex hull of latLngs as an array + * of latLngs. + * + * @param {Array} latLngs + * @returns {Array} + */ + buildConvexHull: function (baseLine, latLngs) { + var convexHullBaseLines = [], + t = this.findMostDistantPointFromBaseLine(baseLine, latLngs); + + if (t.maxPoint) { // if there is still a point "outside" the base line + convexHullBaseLines = + convexHullBaseLines.concat( + this.buildConvexHull([baseLine[0], t.maxPoint], t.newPoints) + ); + convexHullBaseLines = + convexHullBaseLines.concat( + this.buildConvexHull([t.maxPoint, baseLine[1]], t.newPoints) + ); + return convexHullBaseLines; + } else { // if there is no more point "outside" the base line, the current base line is part of the convex hull + return [baseLine[0]]; + } + }, + + /* + * Given an array of latlngs, compute a convex hull as an array + * of latlngs + * + * @param {Array} latLngs + * @returns {Array} + */ + getConvexHull: function (latLngs) { + // find first baseline + var maxLat = false, minLat = false, + maxLng = false, minLng = false, + maxLatPt = null, minLatPt = null, + maxLngPt = null, minLngPt = null, + maxPt = null, minPt = null, + i; + + for (i = latLngs.length - 1; i >= 0; i--) { + var pt = latLngs[i]; + if (maxLat === false || pt.lat > maxLat) { + maxLatPt = pt; + maxLat = pt.lat; + } + if (minLat === false || pt.lat < minLat) { + minLatPt = pt; + minLat = pt.lat; + } + if (maxLng === false || pt.lng > maxLng) { + maxLngPt = pt; + maxLng = pt.lng; + } + if (minLng === false || pt.lng < minLng) { + minLngPt = pt; + minLng = pt.lng; + } + } + + if (minLat !== maxLat) { + minPt = minLatPt; + maxPt = maxLatPt; + } else { + minPt = minLngPt; + maxPt = maxLngPt; + } + + var ch = [].concat(this.buildConvexHull([minPt, maxPt], latLngs), + this.buildConvexHull([maxPt, minPt], latLngs)); + return ch; + } + }; +}()); + +L.MarkerCluster.include({ + getConvexHull: function () { + var childMarkers = this.getAllChildMarkers(), + points = [], + p, i; + + for (i = childMarkers.length - 1; i >= 0; i--) { + p = childMarkers[i].getLatLng(); + points.push(p); + } + + return L.QuickHull.getConvexHull(points); + } +}); + +//This code is 100% based on https://github.com/jawj/OverlappingMarkerSpiderfier-Leaflet +//Huge thanks to jawj for implementing it first to make my job easy :-) + +L.MarkerCluster.include({ + + _2PI: Math.PI * 2, + _circleFootSeparation: 25, //related to circumference of circle + _circleStartAngle: 0, + + _spiralFootSeparation: 28, //related to size of spiral (experiment!) + _spiralLengthStart: 11, + _spiralLengthFactor: 5, + + _circleSpiralSwitchover: 9, //show spiral instead of circle from this marker count upwards. + // 0 -> always spiral; Infinity -> always circle + + spiderfy: function () { + if (this._group._spiderfied === this || this._group._inZoomAnimation) { + return; + } + + var childMarkers = this.getAllChildMarkers(null, true), + group = this._group, + map = group._map, + center = map.latLngToLayerPoint(this._latlng), + positions; + + this._group._unspiderfy(); + this._group._spiderfied = this; + + //TODO Maybe: childMarkers order by distance to center + + if (childMarkers.length >= this._circleSpiralSwitchover) { + positions = this._generatePointsSpiral(childMarkers.length, center); + } else { + center.y += 10; // Otherwise circles look wrong => hack for standard blue icon, renders differently for other icons. + positions = this._generatePointsCircle(childMarkers.length, center); + } + + this._animationSpiderfy(childMarkers, positions); + }, + + unspiderfy: function (zoomDetails) { + /// Argument from zoomanim if being called in a zoom animation or null otherwise + if (this._group._inZoomAnimation) { + return; + } + this._animationUnspiderfy(zoomDetails); + + this._group._spiderfied = null; + }, + + _generatePointsCircle: function (count, centerPt) { + var circumference = this._group.options.spiderfyDistanceMultiplier * this._circleFootSeparation * (2 + count), + legLength = circumference / this._2PI, //radius from circumference + angleStep = this._2PI / count, + res = [], + i, angle; + + legLength = Math.max(legLength, 35); // Minimum distance to get outside the cluster icon. + + res.length = count; + + for (i = 0; i < count; i++) { // Clockwise, like spiral. + angle = this._circleStartAngle + i * angleStep; + res[i] = new L.Point(centerPt.x + legLength * Math.cos(angle), centerPt.y + legLength * Math.sin(angle))._round(); + } + + return res; + }, + + _generatePointsSpiral: function (count, centerPt) { + var spiderfyDistanceMultiplier = this._group.options.spiderfyDistanceMultiplier, + legLength = spiderfyDistanceMultiplier * this._spiralLengthStart, + separation = spiderfyDistanceMultiplier * this._spiralFootSeparation, + lengthFactor = spiderfyDistanceMultiplier * this._spiralLengthFactor * this._2PI, + angle = 0, + res = [], + i; + + res.length = count; + + // Higher index, closer position to cluster center. + for (i = count; i >= 0; i--) { + // Skip the first position, so that we are already farther from center and we avoid + // being under the default cluster icon (especially important for Circle Markers). + if (i < count) { + res[i] = new L.Point(centerPt.x + legLength * Math.cos(angle), centerPt.y + legLength * Math.sin(angle))._round(); + } + angle += separation / legLength + i * 0.0005; + legLength += lengthFactor / angle; + } + return res; + }, + + _noanimationUnspiderfy: function () { + var group = this._group, + map = group._map, + fg = group._featureGroup, + childMarkers = this.getAllChildMarkers(null, true), + m, i; + + group._ignoreMove = true; + + this.setOpacity(1); + for (i = childMarkers.length - 1; i >= 0; i--) { + m = childMarkers[i]; + + fg.removeLayer(m); + + if (m._preSpiderfyLatlng) { + m.setLatLng(m._preSpiderfyLatlng); + delete m._preSpiderfyLatlng; + } + if (m.setZIndexOffset) { + m.setZIndexOffset(0); + } + + if (m._spiderLeg) { + map.removeLayer(m._spiderLeg); + delete m._spiderLeg; + } + } + + group.fire('unspiderfied', { + cluster: this, + markers: childMarkers + }); + group._ignoreMove = false; + group._spiderfied = null; + } +}); + +//Non Animated versions of everything +L.MarkerClusterNonAnimated = L.MarkerCluster.extend({ + _animationSpiderfy: function (childMarkers, positions) { + var group = this._group, + map = group._map, + fg = group._featureGroup, + legOptions = this._group.options.spiderLegPolylineOptions, + i, m, leg, newPos; + + group._ignoreMove = true; + + // Traverse in ascending order to make sure that inner circleMarkers are on top of further legs. Normal markers are re-ordered by newPosition. + // The reverse order trick no longer improves performance on modern browsers. + for (i = 0; i < childMarkers.length; i++) { + newPos = map.layerPointToLatLng(positions[i]); + m = childMarkers[i]; + + // Add the leg before the marker, so that in case the latter is a circleMarker, the leg is behind it. + leg = new L.Polyline([this._latlng, newPos], legOptions); + map.addLayer(leg); + m._spiderLeg = leg; + + // Now add the marker. + m._preSpiderfyLatlng = m._latlng; + m.setLatLng(newPos); + if (m.setZIndexOffset) { + m.setZIndexOffset(1000000); //Make these appear on top of EVERYTHING + } + + fg.addLayer(m); + } + this.setOpacity(0.3); + + group._ignoreMove = false; + group.fire('spiderfied', { + cluster: this, + markers: childMarkers + }); + }, + + _animationUnspiderfy: function () { + this._noanimationUnspiderfy(); + } +}); + +//Animated versions here +L.MarkerCluster.include({ + + _animationSpiderfy: function (childMarkers, positions) { + var me = this, + group = this._group, + map = group._map, + fg = group._featureGroup, + thisLayerLatLng = this._latlng, + thisLayerPos = map.latLngToLayerPoint(thisLayerLatLng), + svg = L.Path.SVG, + legOptions = L.extend({}, this._group.options.spiderLegPolylineOptions), // Copy the options so that we can modify them for animation. + finalLegOpacity = legOptions.opacity, + i, m, leg, legPath, legLength, newPos; + + if (finalLegOpacity === undefined) { + finalLegOpacity = L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity; + } + + if (svg) { + // If the initial opacity of the spider leg is not 0 then it appears before the animation starts. + legOptions.opacity = 0; + + // Add the class for CSS transitions. + legOptions.className = (legOptions.className || '') + ' leaflet-cluster-spider-leg'; + } else { + // Make sure we have a defined opacity. + legOptions.opacity = finalLegOpacity; + } + + group._ignoreMove = true; + + // Add markers and spider legs to map, hidden at our center point. + // Traverse in ascending order to make sure that inner circleMarkers are on top of further legs. Normal markers are re-ordered by newPosition. + // The reverse order trick no longer improves performance on modern browsers. + for (i = 0; i < childMarkers.length; i++) { + m = childMarkers[i]; + + newPos = map.layerPointToLatLng(positions[i]); + + // Add the leg before the marker, so that in case the latter is a circleMarker, the leg is behind it. + leg = new L.Polyline([thisLayerLatLng, newPos], legOptions); + map.addLayer(leg); + m._spiderLeg = leg; + + // Explanations: https://jakearchibald.com/2013/animated-line-drawing-svg/ + // In our case the transition property is declared in the CSS file. + if (svg) { + legPath = leg._path; + legLength = legPath.getTotalLength() + 0.1; // Need a small extra length to avoid remaining dot in Firefox. + legPath.style.strokeDasharray = legLength; // Just 1 length is enough, it will be duplicated. + legPath.style.strokeDashoffset = legLength; + } + + // If it is a marker, add it now and we'll animate it out + if (m.setZIndexOffset) { + m.setZIndexOffset(1000000); // Make normal markers appear on top of EVERYTHING + } + if (m.clusterHide) { + m.clusterHide(); + } + + // Vectors just get immediately added + fg.addLayer(m); + + if (m._setPos) { + m._setPos(thisLayerPos); + } + } + + group._forceLayout(); + group._animationStart(); + + // Reveal markers and spider legs. + for (i = childMarkers.length - 1; i >= 0; i--) { + newPos = map.layerPointToLatLng(positions[i]); + m = childMarkers[i]; + + //Move marker to new position + m._preSpiderfyLatlng = m._latlng; + m.setLatLng(newPos); + + if (m.clusterShow) { + m.clusterShow(); + } + + // Animate leg (animation is actually delegated to CSS transition). + if (svg) { + leg = m._spiderLeg; + legPath = leg._path; + legPath.style.strokeDashoffset = 0; + //legPath.style.strokeOpacity = finalLegOpacity; + leg.setStyle({opacity: finalLegOpacity}); + } + } + this.setOpacity(0.3); + + group._ignoreMove = false; + + setTimeout(function () { + group._animationEnd(); + group.fire('spiderfied', { + cluster: me, + markers: childMarkers + }); + }, 200); + }, + + _animationUnspiderfy: function (zoomDetails) { + var me = this, + group = this._group, + map = group._map, + fg = group._featureGroup, + thisLayerPos = zoomDetails ? map._latLngToNewLayerPoint(this._latlng, zoomDetails.zoom, zoomDetails.center) : map.latLngToLayerPoint(this._latlng), + childMarkers = this.getAllChildMarkers(null, true), + svg = L.Path.SVG, + m, i, leg, legPath, legLength, nonAnimatable; + + group._ignoreMove = true; + group._animationStart(); + + //Make us visible and bring the child markers back in + this.setOpacity(1); + for (i = childMarkers.length - 1; i >= 0; i--) { + m = childMarkers[i]; + + //Marker was added to us after we were spiderfied + if (!m._preSpiderfyLatlng) { + continue; + } + + //Close any popup on the marker first, otherwise setting the location of the marker will make the map scroll + m.closePopup(); + + //Fix up the location to the real one + m.setLatLng(m._preSpiderfyLatlng); + delete m._preSpiderfyLatlng; + + //Hack override the location to be our center + nonAnimatable = true; + if (m._setPos) { + m._setPos(thisLayerPos); + nonAnimatable = false; + } + if (m.clusterHide) { + m.clusterHide(); + nonAnimatable = false; + } + if (nonAnimatable) { + fg.removeLayer(m); + } + + // Animate the spider leg back in (animation is actually delegated to CSS transition). + if (svg) { + leg = m._spiderLeg; + legPath = leg._path; + legLength = legPath.getTotalLength() + 0.1; + legPath.style.strokeDashoffset = legLength; + leg.setStyle({opacity: 0}); + } + } + + group._ignoreMove = false; + + setTimeout(function () { + //If we have only <= one child left then that marker will be shown on the map so don't remove it! + var stillThereChildCount = 0; + for (i = childMarkers.length - 1; i >= 0; i--) { + m = childMarkers[i]; + if (m._spiderLeg) { + stillThereChildCount++; + } + } + + + for (i = childMarkers.length - 1; i >= 0; i--) { + m = childMarkers[i]; + + if (!m._spiderLeg) { //Has already been unspiderfied + continue; + } + + if (m.clusterShow) { + m.clusterShow(); + } + if (m.setZIndexOffset) { + m.setZIndexOffset(0); + } + + if (stillThereChildCount > 1) { + fg.removeLayer(m); + } + + map.removeLayer(m._spiderLeg); + delete m._spiderLeg; + } + group._animationEnd(); + group.fire('unspiderfied', { + cluster: me, + markers: childMarkers + }); + }, 200); + } +}); + + +L.MarkerClusterGroup.include({ + //The MarkerCluster currently spiderfied (if any) + _spiderfied: null, + + unspiderfy: function () { + this._unspiderfy.apply(this, arguments); + }, + + _spiderfierOnAdd: function () { + this._map.on('click', this._unspiderfyWrapper, this); + + if (this._map.options.zoomAnimation) { + this._map.on('zoomstart', this._unspiderfyZoomStart, this); + } + //Browsers without zoomAnimation or a big zoom don't fire zoomstart + this._map.on('zoomend', this._noanimationUnspiderfy, this); + + if (!L.Browser.touch) { + this._map.getRenderer(this); + //Needs to happen in the pageload, not after, or animations don't work in webkit + // http://stackoverflow.com/questions/8455200/svg-animate-with-dynamically-added-elements + //Disable on touch browsers as the animation messes up on a touch zoom and isn't very noticable + } + }, + + _spiderfierOnRemove: function () { + this._map.off('click', this._unspiderfyWrapper, this); + this._map.off('zoomstart', this._unspiderfyZoomStart, this); + this._map.off('zoomanim', this._unspiderfyZoomAnim, this); + this._map.off('zoomend', this._noanimationUnspiderfy, this); + + //Ensure that markers are back where they should be + // Use no animation to avoid a sticky leaflet-cluster-anim class on mapPane + this._noanimationUnspiderfy(); + }, + + //On zoom start we add a zoomanim handler so that we are guaranteed to be last (after markers are animated) + //This means we can define the animation they do rather than Markers doing an animation to their actual location + _unspiderfyZoomStart: function () { + if (!this._map) { //May have been removed from the map by a zoomEnd handler + return; + } + + this._map.on('zoomanim', this._unspiderfyZoomAnim, this); + }, + + _unspiderfyZoomAnim: function (zoomDetails) { + //Wait until the first zoomanim after the user has finished touch-zooming before running the animation + if (L.DomUtil.hasClass(this._map._mapPane, 'leaflet-touching')) { + return; + } + + this._map.off('zoomanim', this._unspiderfyZoomAnim, this); + this._unspiderfy(zoomDetails); + }, + + _unspiderfyWrapper: function () { + /// _unspiderfy but passes no arguments + this._unspiderfy(); + }, + + _unspiderfy: function (zoomDetails) { + if (this._spiderfied) { + this._spiderfied.unspiderfy(zoomDetails); + } + }, + + _noanimationUnspiderfy: function () { + if (this._spiderfied) { + this._spiderfied._noanimationUnspiderfy(); + } + }, + + //If the given layer is currently being spiderfied then we unspiderfy it so it isn't on the map anymore etc + _unspiderfyLayer: function (layer) { + if (layer._spiderLeg) { + this._featureGroup.removeLayer(layer); + + if (layer.clusterShow) { + layer.clusterShow(); + } + //Position will be fixed up immediately in _animationUnspiderfy + if (layer.setZIndexOffset) { + layer.setZIndexOffset(0); + } + + this._map.removeLayer(layer._spiderLeg); + delete layer._spiderLeg; + } + } +}); + +/** + * Adds 1 public method to MCG and 1 to L.Marker to facilitate changing + * markers' icon options and refreshing their icon and their parent clusters + * accordingly (case where their iconCreateFunction uses data of childMarkers + * to make up the cluster icon). + */ + + +L.MarkerClusterGroup.include({ + /** + * Updates the icon of all clusters which are parents of the given marker(s). + * In singleMarkerMode, also updates the given marker(s) icon. + * @param layers L.MarkerClusterGroup|L.LayerGroup|Array(L.Marker)|Map(L.Marker)| + * L.MarkerCluster|L.Marker (optional) list of markers (or single marker) whose parent + * clusters need to be updated. If not provided, retrieves all child markers of this. + * @returns {L.MarkerClusterGroup} + */ + refreshClusters: function (layers) { + if (!layers) { + layers = this._topClusterLevel.getAllChildMarkers(); + } else if (layers instanceof L.MarkerClusterGroup) { + layers = layers._topClusterLevel.getAllChildMarkers(); + } else if (layers instanceof L.LayerGroup) { + layers = layers._layers; + } else if (layers instanceof L.MarkerCluster) { + layers = layers.getAllChildMarkers(); + } else if (layers instanceof L.Marker) { + layers = [layers]; + } // else: must be an Array(L.Marker)|Map(L.Marker) + this._flagParentsIconsNeedUpdate(layers); + this._refreshClustersIcons(); + + // In case of singleMarkerMode, also re-draw the markers. + if (this.options.singleMarkerMode) { + this._refreshSingleMarkerModeMarkers(layers); + } + + return this; + }, + + /** + * Simply flags all parent clusters of the given markers as having a "dirty" icon. + * @param layers Array(L.Marker)|Map(L.Marker) list of markers. + * @private + */ + _flagParentsIconsNeedUpdate: function (layers) { + var id, parent; + + // Assumes layers is an Array or an Object whose prototype is non-enumerable. + for (id in layers) { + // Flag parent clusters' icon as "dirty", all the way up. + // Dumb process that flags multiple times upper parents, but still + // much more efficient than trying to be smart and make short lists, + // at least in the case of a hierarchy following a power law: + // http://jsperf.com/flag-nodes-in-power-hierarchy/2 + parent = layers[id].__parent; + while (parent) { + parent._iconNeedsUpdate = true; + parent = parent.__parent; + } + } + }, + + /** + * Re-draws the icon of the supplied markers. + * To be used in singleMarkerMode only. + * @param layers Array(L.Marker)|Map(L.Marker) list of markers. + * @private + */ + _refreshSingleMarkerModeMarkers: function (layers) { + var id, layer; + + for (id in layers) { + layer = layers[id]; + + // Make sure we do not override markers that do not belong to THIS group. + if (this.hasLayer(layer)) { + // Need to re-create the icon first, then re-draw the marker. + layer.setIcon(this._overrideMarkerIcon(layer)); + } + } + } +}); + +L.Marker.include({ + /** + * Updates the given options in the marker's icon and refreshes the marker. + * @param options map object of icon options. + * @param directlyRefreshClusters boolean (optional) true to trigger + * MCG.refreshClustersOf() right away with this single marker. + * @returns {L.Marker} + */ + refreshIconOptions: function (options, directlyRefreshClusters) { + var icon = this.options.icon; + + L.setOptions(icon, options); + + this.setIcon(icon); + + // Shortcut to refresh the associated MCG clusters right away. + // To be used when refreshing a single marker. + // Otherwise, better use MCG.refreshClusters() once at the end with + // the list of modified markers. + if (directlyRefreshClusters && this.__parent) { + this.__parent._group.refreshClusters(this); + } + + return this; + } +}); + +exports.MarkerClusterGroup = MarkerClusterGroup; +exports.MarkerCluster = MarkerCluster; + +}))); +/* + Leaflet.AwesomeMarkers, a plugin that adds colorful iconic markers for Leaflet, based on the Font Awesome icons + (c) 2012-2013, Lennard Voogdt + + http://leafletjs.com + https://github.com/lvoogdt +*/ + +/*global L*/ + +(function (window, document, undefined) { + "use strict"; + /* + * Leaflet.AwesomeMarkers assumes that you have already included the Leaflet library. + */ + + L.AwesomeMarkers = {}; + + L.AwesomeMarkers.version = '2.0.1'; + + L.AwesomeMarkers.Icon = L.Icon.extend({ + options: { + iconSize: [35, 45], + iconAnchor: [17, 42], + popupAnchor: [1, -32], + shadowAnchor: [10, 12], + shadowSize: [36, 16], + className: 'awesome-marker', + prefix: 'glyphicon', + spinClass: 'fa-spin', + extraClasses: '', + icon: 'home', + markerColor: 'blue', + iconColor: 'white' + }, + + initialize: function (options) { + options = L.Util.setOptions(this, options); + }, + + createIcon: function () { + var div = document.createElement('div'), + options = this.options; + + if (options.icon) { + div.innerHTML = this._createInner(); + } + + if (options.bgPos) { + div.style.backgroundPosition = + (-options.bgPos.x) + 'px ' + (-options.bgPos.y) + 'px'; + } + + this._setIconStyles(div, 'icon-' + options.markerColor); + return div; + }, + + _createInner: function() { + var iconClass, iconSpinClass = "", iconColorClass = "", iconColorStyle = "", options = this.options; + + if(options.icon.slice(0,options.prefix.length+1) === options.prefix + "-") { + iconClass = options.icon; + } else { + iconClass = options.prefix + "-" + options.icon; + } + + if(options.spin && typeof options.spinClass === "string") { + iconSpinClass = options.spinClass; + } + + if(options.iconColor) { + if(options.iconColor === 'white' || options.iconColor === 'black') { + iconColorClass = "icon-" + options.iconColor; + } else { + iconColorStyle = "style='color: " + options.iconColor + "' "; + } + } + + return ""; + }, + + _setIconStyles: function (img, name) { + var options = this.options, + size = L.point(options[name === 'shadow' ? 'shadowSize' : 'iconSize']), + anchor; + + if (name === 'shadow') { + anchor = L.point(options.shadowAnchor || options.iconAnchor); + } else { + anchor = L.point(options.iconAnchor); + } + + if (!anchor && size) { + anchor = size.divideBy(2, true); + } + + img.className = 'awesome-marker-' + name + ' ' + options.className; + + if (anchor) { + img.style.marginLeft = (-anchor.x) + 'px'; + img.style.marginTop = (-anchor.y) + 'px'; + } + + if (size) { + img.style.width = size.x + 'px'; + img.style.height = size.y + 'px'; + } + }, + + createShadow: function () { + var div = document.createElement('div'); + + this._setIconStyles(div, 'shadow'); + return div; + } + }); + + L.AwesomeMarkers.icon = function (options) { + return new L.AwesomeMarkers.Icon(options); + }; + +}(this, document)); + + + +(function() { + $(document).on('turbolinks:load', function() { + $('#event_start_time').change(function() { + if ($('#event_start_time').val() >= $('#event_end_time').val()) { + return $('#event_end_time').val($('#event_start_time').val()); + } + }); + $('#event_end_time').change(function() { + if ($('#event_start_time').val() >= $('#event_end_time').val()) { + return $('#event_start_time').val($('#event_end_time').val()); + } + }); + $('#event_repeat').each(function() { + if ($(this).val() === '0') { + $('.field.rule').hide(); + } + return $(this).change(function() { + if ($(this).val() > 0) { + $('.field.rule').show(); + return $('.field.rule input').attr('required', 'required'); + } else { + $('.field.rule').hide(); + return $('.field.rule input').removeAttr('required'); + } + }); + }); + return $('#event_tags').each(function() { + var elt; + elt = $(this); + return $.ajax({ + url: '/tags.json' + }).done(function(data) { + var tags; + return tags = jQuery.map(data, function(n) { + return n[0]; + }); + }); + }); + }); + +}).call(this); +(function() { + $(document).on('turbolinks:load', function() { + $('body.pages form :input').prop('disabled', false); + return $('form').submit(function() { + $('input[name=utf8]').prop('disabled', true); + return $('button').prop('disabled', true); + }); + }); + +}).call(this); +(function() { + $(document).on('turbolinks:load', function() {}); + +}).call(this); + +/* + @licstart The following is the entire license notice for the JavaScript code in this page. + + frTypo, la typographie française simplifiée + + Copyright (C) 2013 acoeuro + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + @licend The above is the entire license notice for the JavaScript code in this page. + */ + +(function() { + var regexp, regexpPost; + + regexp = /(^|[\wàéèêç])\s*([!?:;»%€¢]+)(\s|[^\w\/]|$)/g; + + regexpPost = /([«])\s*([\w])/g; + + $(document).on('turbolinks:load', function() { + if ($('html').attr('lang') === 'fr') { + return $('body *').contents().filter(function() { + return this.nodeType === Node.TEXT_NODE; + }).filter(function() { + return 0 > ['CODE', 'PRE', 'STYLE', 'TEXTAREA'].indexOf(this.parentNode.tagName); + }).filter(function() { + return !$(this).parent().hasClass('finePre') && !$(this).parent().hasClass('start_time') && !$(this).parent().hasClass('end_time'); + }).filter(function() { + return (this.nodeValue.match(regexp) != null) || (this.nodeValue.match(regexpPost) != null); + }).each(function() { + return $(this).replaceWith(function() { + return this.nodeValue.replace(regexp, '$1$2$3').replace(regexpPost, '$1$2'); + }); + }); + } + }); + +}).call(this); +(function() { + $(document).on('turbolinks:load', function() {}); + +}).call(this); +(function() { + $(document).on('turbolinks:load', function() { + $('#map.list').each(function() { + var controls, map; + map = L.map('map'); + map.fitBounds([[60, -20], [30, 30]]); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap' + }).addTo(map); + controls = L.control.layers(null, null, { + collapsed: false + }).addTo(map); + return $('li a', this).each(function() { + var markerColor, text, url; + url = $(this).attr('href'); + text = $(this).html(); + markerColor = $('.awesome-marker', this).attr('class').substr('awesome-marker awesome-marker-icon-'.length); + if (location.search && url.indexOf('?') >= 0) { + url += '&' + location.search.substr(1); + } else { + url += location.search; + } + return $.getJSON(url, function(json) { + var layer; + if (!(json != null ? json.length : void 0)) { + return; + } + layer = L.markerClusterGroup({ + maxClusterRadius: 30 + }).addLayer(L.geoJson(json, { + pointToLayer: function(feature, latlng) { + var marker; + marker = L.AwesomeMarkers.icon({ + prefix: 'fa', + icon: feature.properties.icon || 'calendar', + markerColor: markerColor + }); + return L.marker(latlng, { + icon: marker + }); + }, + onEachFeature: function(feature, layer) { + if (feature.properties && feature.properties.popupContent) { + return layer.bindPopup(feature.properties.popupContent); + } + } + })); + map.addLayer(layer); + controls.addOverlay(layer, text + ' - ' + json.length); + if ((/maps\//.test(location.href) || /maps.json/.test(url)) && layer.getBounds()._northEast && layer.getBounds()._southWest) { + return map.fitBounds(layer.getBounds()); + } + }); + }); + }); + return $('#map.event, #map.orga').each(function() { + var coord, map, marker, url; + coord = [$(this).data('latitude'), $(this).data('longitude')]; + map = L.map('map').setView([coord[0], coord[1]], 16); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap' + }).addTo(map); + url = $(this).data('url'); + if (location.search && url.indexOf('?') >= 0) { + url += '&' + location.search.substr(1); + } else { + url += location.search; + } + marker = L.AwesomeMarkers.icon({ + prefix: 'fa', + icon: $(this).data('icon') || 'calendar', + markerColor: 'darkred' + }); + L.marker([coord[0], coord[1]], { + icon: marker + }).addTo(map); + return $.getJSON(url, function(json) { + var layer; + layer = L.markerClusterGroup({ + maxClusterRadius: 30 + }).addLayer(L.geoJson(json, { + pointToLayer: function(feature, latlng) { + marker = L.AwesomeMarkers.icon({ + prefix: 'fa', + icon: feature.properties.icon || 'calendar', + markerColor: 'blue' + }); + return L.marker(latlng, { + icon: marker + }); + }, + onEachFeature: function(feature, layer) { + if (feature.properties && feature.properties.popupContent) { + return layer.bindPopup(feature.properties.popupContent); + } + } + })); + return map.addLayer(layer); + }); + }); + }); + +}).call(this); +(function() { + $(document).on('turbolinks:load', function() { + $('body.moderations .radios label').click(function() { + return $('body.moderations #event_reason').parent().slideUp(); + }); + return $('body.moderations .radios label:last-child').click(function() { + return $('body.moderations #event_reason').parent().slideDown(); + }); + }); + +}).call(this); +(function() { + + +}).call(this); +(function() { + + +}).call(this); +(function() { + var showPosition; + + $(document).on('turbolinks:load', function() { + if (!navigator.geolocation) { + return; + } + return $('a.near-me').click(function(event) { + event.preventDefault(); + window.goto = event.target.href; + return navigator.geolocation.getCurrentPosition(showPosition, function(error) { + switch (error.code) { + case error.PERMISSION_DENIED: + return $('ul.regions li#near-me').remove(); + } + }); + }); + }); + + showPosition = function(position) { + return location.replace(window.goto.replace('[me]', "[" + position.coords.latitude + ", " + position.coords.longitude + "]")); + }; + +}).call(this); +(function() { + $(document).on('turbolinks:load', function() { + return $('.pagination .next a').attr('data-remote', true).each(function() { + return $(document).scroll((function(_this) { + return function() { + if ($(_this).visible(true, true)) { + return $(_this).click().parents('.pagination').hide(); + } + }; + })(this)); + }); + }); + + $(document).on('ajax:success', '.pagination .next a', function(event, data) { + var next; + $(this).parents('tfoot').prev().append($('tbody tr', data)); + next = $('.pagination .next a', data).attr('href'); + if (next != null) { + return $(this).attr('href', next).parents('.pagination').show(); + } + }); + +}).call(this); +(function() { + $(document).on('turbolinks:load', function() { + return tinyMCE.init({ + width: '100%', + height: '40em', + menubar: false, + branding: false, + language: 'fr_FR', + selector: 'input.description', + content_css: '/assets/application-8002eadc07c8d58b56bad6f45a5e2607344c903abacfe94121bd35aa25f764a8.css', + entity_encoding: 'raw', + add_unload_trigger: true, + browser_spellcheck: true, + style_formats_autohide: true, + toolbar: [' cut copy paste | undo redo | link image media charmap table | code visualblocks searchreplace', ' removeformat bold italic strikethrough superscript subscript | bullist numlist outdent indent | alignleft aligncenter alignright alignjustify alignnone'], + plugins: 'lists advlist autolink link image charmap paste print preview table fullscreen searchreplace media insertdatetime visualblocks wordcount code' + }); + }); + + $(document).on('turbolinks:before-cache', function() { + return tinymce.remove(); + }); + +}).call(this); +(function() { + $(document).on('turbolinks:load', function() { + $('table.list.dates tbody tr').each(function() { + var vals; + vals = $(this).find('td.quantity').map(function() { + var val; + val = $(this).find('a').html().replace(' ', '').trim(); + if (val && val !== '') { + return parseInt(val); + } else { + return 0; + } + }); + return $(this).find('.sparkline').sparkline(vals, { + width: '5em' + }); + }); + return $('table.list.dates tfoot').each(function() { + var vals; + vals = $(this).find('th.quantity').map(function() { + return parseInt($(this).html().replace(' ', '')); + }); + return $(this).find('.sparkline').sparkline(vals, { + type: 'bar', + height: '3em', + barWidth: '100%', + barColor: '#9CC5EE', + barSpacing: 2 + }); + }); + }); + +}).call(this); +tinymce.addI18n('fr_FR',{ +"Redo": "R\u00e9tablir", +"Undo": "Annuler", +"Cut": "Couper", +"Copy": "Copier", +"Paste": "Coller", +"Select all": "Tout s\u00e9lectionner", +"New document": "Nouveau document", +"Ok": "Ok", +"Cancel": "Annuler", +"Visual aids": "Aides visuelle", +"Bold": "Gras", +"Italic": "Italique", +"Underline": "Soulign\u00e9", +"Strikethrough": "Barr\u00e9", +"Superscript": "Exposant", +"Subscript": "Indice", +"Clear formatting": "Effacer la mise en forme", +"Align left": "Aligner \u00e0 gauche", +"Align center": "Centrer", +"Align right": "Aligner \u00e0 droite", +"Justify": "Justifier", +"Bullet list": "Puces", +"Numbered list": "Num\u00e9rotation", +"Decrease indent": "Diminuer le retrait", +"Increase indent": "Augmenter le retrait", +"Close": "Fermer", +"Formats": "Formats", +"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Votre navigateur ne supporte pas la copie directe. Merci d'utiliser les touches Ctrl+X\/C\/V.", +"Headers": "Titres", +"Header 1": "Titre 1", +"Header 2": "Titre 2", +"Header 3": "Titre 3", +"Header 4": "Titre 4", +"Header 5": "Titre 5", +"Header 6": "Titre 6", +"Headings": "En-t\u00eates", +"Heading 1": "En-t\u00eate 1", +"Heading 2": "En-t\u00eate 2", +"Heading 3": "En-t\u00eate 3", +"Heading 4": "En-t\u00eate 4", +"Heading 5": "En-t\u00eate 5", +"Heading 6": "En-t\u00eate 6", +"Preformatted": "Pr\u00e9-formatt\u00e9", +"Div": "Div", +"Pre": "Pre", +"Code": "Code", +"Paragraph": "Paragraphe", +"Blockquote": "Citation", +"Inline": "En ligne", +"Blocks": "Blocs", +"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Le presse-papiers est maintenant en mode \"texte plein\". Les contenus seront coll\u00e9s sans retenir les formatages jusqu'\u00e0 ce que vous d\u00e9sactiviez cette option.", +"Fonts": "Polices", +"Font Sizes": "Taille de police", +"Class": "Classe", +"Browse for an image": "Parcourir pour s\u00e9lectionner une image", +"OR": "OU", +"Drop an image here": "Glisser une image ici", +"Upload": "D\u00e9poser", +"Block": "Bloquer", +"Align": "Aligner", +"Default": "Par d\u00e9faut", +"Circle": "Cercle", +"Disc": "Disque", +"Square": "Carr\u00e9", +"Lower Alpha": "Alpha minuscule", +"Lower Greek": "Grec minuscule", +"Lower Roman": "Romain minuscule", +"Upper Alpha": "Alpha majuscule", +"Upper Roman": "Romain majuscule", +"Anchor...": "Ancre...", +"Name": "Nom", +"Id": "Id", +"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "L'Id doit commencer par une lettre suivi par des lettres, nombres, tirets, points, deux-points ou underscores", +"You have unsaved changes are you sure you want to navigate away?": "Vous avez des modifications non enregistr\u00e9es, \u00eates-vous s\u00fbr de quitter la page?", +"Restore last draft": "Restaurer le dernier brouillon", +"Special characters...": "Caract\u00e8res sp\u00e9ciaux...", +"Source code": "Code source", +"Insert\/Edit code sample": "Ins\u00e9rer \/ modifier une exemple de code", +"Language": "Langue", +"Code sample...": "Extrait de code...", +"Color Picker": "S\u00e9lecteur de couleur", +"R": "R", +"G": "V", +"B": "B", +"Left to right": "Gauche \u00e0 droite", +"Right to left": "Droite \u00e0 gauche", +"Emoticons...": "\u00c9motic\u00f4nes...", +"Metadata and Document Properties": "M\u00e9tadonn\u00e9es et propri\u00e9t\u00e9s du document", +"Title": "Titre", +"Keywords": "Mots-cl\u00e9s", +"Description": "Description", +"Robots": "Robots", +"Author": "Auteur", +"Encoding": "Encodage", +"Fullscreen": "Plein \u00e9cran", +"Action": "Action", +"Shortcut": "Raccourci", +"Help": "Aide", +"Address": "Adresse", +"Focus to menubar": "Cibler la barre de menu", +"Focus to toolbar": "Cibler la barre d'outils", +"Focus to element path": "Cibler le chemin vers l'\u00e9l\u00e9ment", +"Focus to contextual toolbar": "Cibler la barre d'outils contextuelle", +"Insert link (if link plugin activated)": "Ins\u00e9rer un lien (si le module link est activ\u00e9)", +"Save (if save plugin activated)": "Enregistrer (si le module save est activ\u00e9)", +"Find (if searchreplace plugin activated)": "Rechercher (si le module searchreplace est activ\u00e9)", +"Plugins installed ({0}):": "Modules install\u00e9s ({0}) : ", +"Premium plugins:": "Modules premium :", +"Learn more...": "En savoir plus...", +"You are using {0}": "Vous utilisez {0}", +"Plugins": "Plugins", +"Handy Shortcuts": "Raccourcis utiles", +"Horizontal line": "Ligne horizontale", +"Insert\/edit image": "Ins\u00e9rer\/modifier une image", +"Image description": "Description de l'image", +"Source": "Source", +"Dimensions": "Dimensions", +"Constrain proportions": "Conserver les proportions", +"General": "G\u00e9n\u00e9ral", +"Advanced": "Avanc\u00e9", +"Style": "Style", +"Vertical space": "Espacement vertical", +"Horizontal space": "Espacement horizontal", +"Border": "Bordure", +"Insert image": "Ins\u00e9rer une image", +"Image...": "Image...", +"Image list": "Liste d'images", +"Rotate counterclockwise": "Rotation anti-horaire", +"Rotate clockwise": "Rotation horaire", +"Flip vertically": "Retournement vertical", +"Flip horizontally": "Retournement horizontal", +"Edit image": "Modifier l'image", +"Image options": "Options de l'image", +"Zoom in": "Zoomer", +"Zoom out": "D\u00e9zoomer", +"Crop": "Rogner", +"Resize": "Redimensionner", +"Orientation": "Orientation", +"Brightness": "Luminosit\u00e9", +"Sharpen": "Affiner", +"Contrast": "Contraste", +"Color levels": "Niveaux de couleur", +"Gamma": "Gamma", +"Invert": "Inverser", +"Apply": "Appliquer", +"Back": "Retour", +"Insert date\/time": "Ins\u00e9rer date\/heure", +"Date\/time": "Date\/heure", +"Insert\/Edit Link": "Ins\u00e9rer\/Modifier un lien", +"Insert\/edit link": "Ins\u00e9rer\/modifier un lien", +"Text to display": "Texte \u00e0 afficher", +"Url": "Url", +"Open link in...": "Ouvrir le lien dans...", +"Current window": "Fen\u00eatre courante", +"None": "n\/a", +"New window": "Nouvelle fen\u00eatre", +"Remove link": "Enlever le lien", +"Anchors": "Ancres", +"Link...": "Lien...", +"Paste or type a link": "Coller ou taper un lien", +"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "L'URL que vous avez entr\u00e9e semble \u00eatre une adresse e-mail. Voulez-vous ajouter le pr\u00e9fixe mailto: n\u00e9cessaire?", +"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "L'URL que vous avez entr\u00e9e semble \u00eatre un lien externe. Voulez-vous ajouter le pr\u00e9fixe http:\/\/ n\u00e9cessaire?", +"Link list": "Liste de liens", +"Insert video": "Ins\u00e9rer une vid\u00e9o", +"Insert\/edit video": "Ins\u00e9rer\/modifier une vid\u00e9o", +"Insert\/edit media": "Ins\u00e9rer\/modifier un m\u00e9dia", +"Alternative source": "Source alternative", +"Alternative source URL": "Source alternative", +"Media poster (Image URL)": "Affiche de m\u00e9dia (URL d'image)", +"Paste your embed code below:": "Collez votre code d'int\u00e9gration ci-dessous :", +"Embed": "Int\u00e9grer", +"Media...": "M\u00e9dia...", +"Nonbreaking space": "Espace ins\u00e9cable", +"Page break": "Saut de page", +"Paste as text": "Coller comme texte", +"Preview": "Pr\u00e9visualiser", +"Print...": "Imprimer...", +"Save": "Enregistrer", +"Find": "Chercher", +"Replace with": "Remplacer par", +"Replace": "Remplacer", +"Replace all": "Tout remplacer", +"Previous": "Pr\u00e9c\u00e9dent", +"Next": "Suiv", +"Find and replace...": "Chercher et remplacer...", +"Could not find the specified string.": "Impossible de trouver la cha\u00eene sp\u00e9cifi\u00e9e.", +"Match case": "Respecter la casse", +"Find whole words only": "Chercher uniquement les mots entiers", +"Spell check": "Lancer la correction orthographique", +"Ignore": "Ignorer", +"Ignore all": "Tout ignorer", +"Finish": "Finie", +"Add to Dictionary": "Ajouter au dictionnaire", +"Insert table": "Ins\u00e9rer un tableau", +"Table properties": "Propri\u00e9t\u00e9s du tableau", +"Delete table": "Supprimer le tableau", +"Cell": "Cellule", +"Row": "Ligne", +"Column": "Colonne", +"Cell properties": "Propri\u00e9t\u00e9s de la cellule", +"Merge cells": "Fusionner les cellules", +"Split cell": "Diviser la cellule", +"Insert row before": "Ins\u00e9rer une ligne avant", +"Insert row after": "Ins\u00e9rer une ligne apr\u00e8s", +"Delete row": "Effacer la ligne", +"Row properties": "Propri\u00e9t\u00e9s de la ligne", +"Cut row": "Couper la ligne", +"Copy row": "Copier la ligne", +"Paste row before": "Coller la ligne avant", +"Paste row after": "Coller la ligne apr\u00e8s", +"Insert column before": "Ins\u00e9rer une colonne avant", +"Insert column after": "Ins\u00e9rer une colonne apr\u00e8s", +"Delete column": "Effacer la colonne", +"Cols": "Colonnes", +"Rows": "Lignes", +"Width": "Largeur", +"Height": "Hauteur", +"Cell spacing": "Espacement inter-cellulles", +"Cell padding": "Espacement interne cellule", +"Show caption": "Afficher le sous-titre", +"Left": "Gauche", +"Center": "Centr\u00e9", +"Right": "Droite", +"Cell type": "Type de cellule", +"Scope": "Etendue", +"Alignment": "Alignement", +"H Align": "Alignement H", +"V Align": "Alignement V", +"Top": "Haut", +"Middle": "Milieu", +"Bottom": "Bas", +"Header cell": "Cellule d'en-t\u00eate", +"Row group": "Groupe de lignes", +"Column group": "Groupe de colonnes", +"Row type": "Type de ligne", +"Header": "En-t\u00eate", +"Body": "Corps", +"Footer": "Pied", +"Border color": "Couleur de la bordure", +"Insert template...": "Ins\u00e9rer un mod\u00e8le...", +"Templates": "Th\u00e8mes", +"Template": "Mod\u00e8le", +"Text color": "Couleur du texte", +"Background color": "Couleur d'arri\u00e8re-plan", +"Custom...": "Personnalis\u00e9...", +"Custom color": "Couleur personnalis\u00e9e", +"No color": "Aucune couleur", +"Remove color": "Supprimer la couleur", +"Table of Contents": "Table des mati\u00e8res", +"Show blocks": "Afficher les blocs", +"Show invisible characters": "Afficher les caract\u00e8res invisibles", +"Word count": "Nombre de mots", +"Words: {0}": "Mots : {0}", +"{0} words": "{0} mots", +"File": "Fichier", +"Edit": "Editer", +"Insert": "Ins\u00e9rer", +"View": "Voir", +"Format": "Format", +"Table": "Tableau", +"Tools": "Outils", +"Powered by {0}": "Propuls\u00e9 par {0}", +"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Zone Texte Riche. Appuyer sur ALT-F9 pour le menu. Appuyer sur ALT-F10 pour la barre d'outils. Appuyer sur ALT-0 pour de l'aide.", +"Image title": "Titre d'image", +"Border width": "\u00c9paisseur de la bordure", +"Border style": "Style de la bordure", +"Error": "\u00c9rreur", +"Warn": "Avertissement", +"Valid": "Valide", +"To open the popup, press Shift+Enter": "Pour ouvrir la popup, presser Shift+Entr\u00e9e", +"Rich Text Area. Press ALT-0 for help.": "Zone de texte riche. Presser ALT-0 pour l'aide.", +"System Font": "Police syst\u00e8me", +"Failed to upload image: {0}": "\u00c9chec d'envoi de l'image : {0}", +"Failed to load plugin: {0} from url {1}": "\u00c9chec de chargement du module : {0} \u00e0 partir de l'URL {1}", +"Failed to load plugin url: {0}": "\u00c9chec de chargement de l'URL de module : {0}", +"Failed to initialize plugin: {0}": "\u00c9chec d'initialisation du module : {0}", +"example": "exemple", +"Search": "Rechercher", +"All": "Tous", +"Currency": "Mon\u00e9taire", +"Text": "Texte", +"Quotations": "Citations", +"Mathematical": "Math\u00e9matique", +"Extended Latin": "Latin \u00e9tendu", +"Symbols": "Symboles", +"Arrows": "Fl\u00e8ches", +"User Defined": "D\u00e9fini par l'utilisateur", +"dollar sign": "Symbole dollar", +"currency sign": "Symbole devise", +"euro-currency sign": "Symbole euro", +"colon sign": "Symbole col\u00f3n", +"cruzeiro sign": "Symbole cruzeiro", +"french franc sign": "Symbole franc fran\u00e7ais", +"lira sign": "Symbole lire", +"mill sign": "Symbole milli\u00e8me", +"naira sign": "Symbole naira", +"peseta sign": "Symbole peseta", +"rupee sign": "Symbole roupie", +"won sign": "Symbole won", +"new sheqel sign": "Symbole nouveau ch\u00e9kel", +"dong sign": "Symbole dong", +"kip sign": "Symbole kip", +"tugrik sign": "Symbole tougrik", +"drachma sign": "Symbole drachme", +"german penny symbol": "Symbole pfennig", +"peso sign": "Symbole peso", +"guarani sign": "Symbole guarani", +"austral sign": "Symbole austral", +"hryvnia sign": "Symbole hryvnia", +"cedi sign": "Symbole cedi", +"livre tournois sign": "Symbole livre tournois", +"spesmilo sign": "Symbole spesmilo", +"tenge sign": "Symbole tenge", +"indian rupee sign": "Symbole roupie indienne", +"turkish lira sign": "Symbole lire turque", +"nordic mark sign": "Symbole du mark nordique", +"manat sign": "Symbole manat", +"ruble sign": "Symbole rouble", +"yen character": "Sinogramme Yen", +"yuan character": "Sinogramme Yuan", +"yuan character, in hong kong and taiwan": "Sinogramme Yuan, Hong Kong et Taiwan", +"yen\/yuan character variant one": "Symbole Yen\/Yuan", +"Loading emoticons...": "Chargement des \u00e9motic\u00f4nes...", +"Could not load emoticons": "\u00c9chec de chargement des \u00e9motic\u00f4nes", +"People": "Smileys et personnes", +"Animals and Nature": "Animaux & nature", +"Food and Drink": "Nourriture & boisson", +"Activity": "Activit\u00e9", +"Travel and Places": "Voyages & lieux", +"Objects": "Objets", +"Flags": "Drapeaux", +"Characters": "Caract\u00e8res", +"Characters (no spaces)": "Caract\u00e8res (espaces non compris)", +"Error: Form submit field collision.": "Erreur : conflit de champ lors de la soumission du formulaire", +"Error: No form element found.": "Erreur : aucun \u00e9l\u00e9ment de formulaire trouv\u00e9.", +"Update": "Mettre \u00e0 jour", +"Color swatch": "Palette de couleurs", +"Turquoise": "Turquoise", +"Green": "Vert", +"Blue": "Bleu", +"Purple": "Violet", +"Navy Blue": "Bleu oc\u00e9an", +"Dark Turquoise": "Turquoise fonc\u00e9", +"Dark Green": "Vert fonc\u00e9", +"Medium Blue": "Bleu moyen", +"Medium Purple": "Violet moyen", +"Midnight Blue": "Bleu nuit", +"Yellow": "Jaune", +"Orange": "Orange", +"Red": "Rouge", +"Light Gray": "Gris clair", +"Gray": "Gris", +"Dark Yellow": "Jaune fonc\u00e9", +"Dark Orange": "Orange fonc\u00e9", +"Dark Red": "Rouge fonc\u00e9", +"Medium Gray": "Gris moyen", +"Dark Gray": "Gris fonc\u00e9", +"Black": "Noir", +"White": "Blanc", +"Switch to or from fullscreen mode": "Activer ou quitter le mode plein \u00e9cran", +"Open help dialog": "Ouvrir l'aide", +"history": "historique", +"styles": "styles", +"formatting": "mise en forme", +"alignment": "alignement", +"indentation": "indentation", +"permanent pen": "crayon ind\u00e9l\u00e9bile", +"comments": "commentaires", +"Anchor": "Ancre", +"Special character": "Caract\u00e8res sp\u00e9ciaux", +"Code sample": "Extrait de code", +"Color": "Couleur", +"Emoticons": "Emotic\u00f4nes", +"Document properties": "Propri\u00e9t\u00e9 du document", +"Image": "Image", +"Insert link": "Ins\u00e9rer un lien", +"Target": "Cible", +"Link": "Lien", +"Poster": "Publier", +"Media": "M\u00e9dia", +"Print": "Imprimer", +"Prev": "Pr\u00e9c ", +"Find and replace": "Trouver et remplacer", +"Whole words": "Mots entiers", +"Spellcheck": "V\u00e9rification orthographique", +"Caption": "Titre", +"Insert template": "Ajouter un th\u00e8me" +}); +(function() { + $(document).on('turbolinks:load', function() { + if (!Modernizr.testAllProps('forceBrokenImageIcon')) { + $('img.favicon').one('error', function() { + return $(this).css({ + visibility: 'hidden' + }); + }); + } + return $('.field.tags input').tagsInput({ + delimiter: ' ', + defaultText: '', + autocomplete_url: '/tags.json', + onChange: function() { + var value; + value = $(this).val(); + if (value.indexOf(',') >= 0) { + return $(this).val(value.replace(/,/, '')); + } + } + }); + }); + +}).call(this); diff --git a/public/assets/application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js.gz b/public/assets/application-f67418bb3060e9d47b29b9cc3d2e69b47e1a280c8f63d50bd4db03d259588c89.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fa27c5b0a29b095deed915124adec5e96ec3423 GIT binary patch literal 460961 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

u+sT%{Q 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

f#!`q4asg^NEJ^HRPXVLkMnFi`IT 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%0DK}TD}pzl331q=xv6t6(A|;VX6=##!YGM0`iln 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 W{5;!v(0;>9=l=_a?Ni0Ci5>uX)XCZa literal 0 HcmV?d00001 diff --git a/public/assets/maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js b/public/assets/maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js new file mode 100644 index 00000000..b5526cf5 --- /dev/null +++ b/public/assets/maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js @@ -0,0 +1,103 @@ +(function() { + $(document).on('turbolinks:load', function() { + $('#map.list').each(function() { + var controls, map; + map = L.map('map'); + map.fitBounds([[60, -20], [30, 30]]); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap' + }).addTo(map); + controls = L.control.layers(null, null, { + collapsed: false + }).addTo(map); + return $('li a', this).each(function() { + var markerColor, text, url; + url = $(this).attr('href'); + text = $(this).html(); + markerColor = $('.awesome-marker', this).attr('class').substr('awesome-marker awesome-marker-icon-'.length); + if (location.search && url.indexOf('?') >= 0) { + url += '&' + location.search.substr(1); + } else { + url += location.search; + } + return $.getJSON(url, function(json) { + var layer; + if (!(json != null ? json.length : void 0)) { + return; + } + layer = L.markerClusterGroup({ + maxClusterRadius: 30 + }).addLayer(L.geoJson(json, { + pointToLayer: function(feature, latlng) { + var marker; + marker = L.AwesomeMarkers.icon({ + prefix: 'fa', + icon: feature.properties.icon || 'calendar', + markerColor: markerColor + }); + return L.marker(latlng, { + icon: marker + }); + }, + onEachFeature: function(feature, layer) { + if (feature.properties && feature.properties.popupContent) { + return layer.bindPopup(feature.properties.popupContent); + } + } + })); + map.addLayer(layer); + controls.addOverlay(layer, text + ' - ' + json.length); + if ((/maps\//.test(location.href) || /maps.json/.test(url)) && layer.getBounds()._northEast && layer.getBounds()._southWest) { + return map.fitBounds(layer.getBounds()); + } + }); + }); + }); + return $('#map.event, #map.orga').each(function() { + var coord, map, marker, url; + coord = [$(this).data('latitude'), $(this).data('longitude')]; + map = L.map('map').setView([coord[0], coord[1]], 16); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap' + }).addTo(map); + url = $(this).data('url'); + if (location.search && url.indexOf('?') >= 0) { + url += '&' + location.search.substr(1); + } else { + url += location.search; + } + marker = L.AwesomeMarkers.icon({ + prefix: 'fa', + icon: $(this).data('icon') || 'calendar', + markerColor: 'darkred' + }); + L.marker([coord[0], coord[1]], { + icon: marker + }).addTo(map); + return $.getJSON(url, function(json) { + var layer; + layer = L.markerClusterGroup({ + maxClusterRadius: 30 + }).addLayer(L.geoJson(json, { + pointToLayer: function(feature, latlng) { + marker = L.AwesomeMarkers.icon({ + prefix: 'fa', + icon: feature.properties.icon || 'calendar', + markerColor: 'blue' + }); + return L.marker(latlng, { + icon: marker + }); + }, + onEachFeature: function(feature, layer) { + if (feature.properties && feature.properties.popupContent) { + return layer.bindPopup(feature.properties.popupContent); + } + } + })); + return map.addLayer(layer); + }); + }); + }); + +}).call(this); diff --git a/public/assets/maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js.gz b/public/assets/maps-81cfae958ef9248cab2f666cc53c8a003cf1e11bcb0b90297c01c87fde557e25.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d85ef98fef46b696d27bf7f4e3524413fc1f1202 GIT binary patch literal 1079 zcmV-71jzdziwFQ~w;)~u1JzbrZ`(E$e)q39y&#lOnNC`u4|bhmE4l(jx(sWvJ$S~z zNVKJe76p<@ow@q&JrpHdl4a+zzU;v=$#dbkfAki48k$6=o)4P=z;iE>VZP$2@hKh> zldCH!lJr`Sg=7&4pd(;K$g>s8s7SOSKIJToy*(y?8>S$XsZmns08n635pW4pxS;s& z5&RIpL7|Jp{4Db{(%x+L`ZR#y%hP!Pvsbu$bvmDKc`v9*1ixUnTzMomCe!25Xrqhr zn97W&+9=MA)hX3-wE4FfZPxg^Eohc5(XrZ40A`Fzu5#Eenjh1yIOZ<3*%1ja^v}eJKAawxpcPZsT)mS*Diq*r6F{!SWXppa zwD!5@blEszurVsToIxqpV2aI3cnxynijs>^_LXb7;zLK-TI#fif@zIqrSmIo_ibiq zZ-)tnaY(4(>C(iFOOpk7LWaybO*LmKjN#lm%n-_+UU4{v`pL9*_@RXGie-JXP=bJ z@MK!n5WEGut>OY>xRFVOp0<_M_cwJFjdgiZ)v9F&5$Uq)N3)nG9ZFR=){UQB z@q8*zG_}R!brqorSl`JS2f+fnXpd@z&@g8Y%@j@=WfJbR!MATfLWW_FnCcO3^uoBg z=`a?4*NLi7>P&bp3;}Eo*yq^pP+PPOl<9k%6~8#o`eTnt*$=%fzx{aFcI$~!CbK+y zhqKQjPLKJOqvcif3VZc8E8yLwsT;3iaA;TfEoKW3+tPFnHp%tKwmg?NTp@?!a?=t= z1c4#gQPJo(zuTPN2(Qt9jYiaPZFYmnPEz02Oi8C!Ma6=10Gky<=mLS`p#nvp{+&u? z;`dCO19UBO6aR@?`n$b@vU>{r{&BD?o_baP?|`R#7VsNPNC3|&;AM9{5u}RB_d!rq zZ3}`*GB)q5hL?yLh7gAVG)=(x$yH-3RgKpVx zXK#PWYz9Xr@X-g`J;A>R`tJ?UN8$Ot;QTmfejxlF1KE literal 0 HcmV?d00001